python decorator

Recientemente tuve un problema con un webapi, resulta que estaba llegando a los limites de uso del API y muchas peticiones estaban fallando. Buscando una manera sencilla de reintentar las tareas se me ocurrio crear un decorador y aca esta el resultado.

La idea es usarlo de la siguiente manera

@retry(errors.HttpError)
def execute_request(request):
    return request.execute()

El decorador va a capturar las excepciones que reciba como parametro y reintentar la función cada cierto tiempo hasta llegar a un maximo. Probablemente hay mucho que mejorar, quizas definir la cantidad de intentos con un parametro, debería de usar functools.wraps o incluso otras cosas.

Pero bueno eso queda de ejercicio al lector