From af1f1e91206a45dc17c488389626a72e3bf77d2d Mon Sep 17 00:00:00 2001 From: Ruslan Lutsenko Date: Mon, 14 Jan 2013 17:34:51 +0100 Subject: [PATCH] Fix: UnboundLocalError: local variable 'fn_name' referenced before assignment --- jenkinsapi/utils/retry.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/jenkinsapi/utils/retry.py b/jenkinsapi/utils/retry.py index a9f1478..d39c684 100644 --- a/jenkinsapi/utils/retry.py +++ b/jenkinsapi/utils/retry.py @@ -29,17 +29,18 @@ def retry_function( tries, fn, *args, **kwargs ): except urllib2.HTTPError, e: if e.code == 404: raise - log.exception(e) except Exception, e: if type(e) in IGNORE_EXCEPTIONS: # Immediatly raise in some cases. raise - try: - fn_name = fn.__name__ - except AttributeError: - fn_name = "Anonymous Function" - log.exception(e) + try: + fn_name = fn.__name__ + except AttributeError: + fn_name = "Anonymous Function" + log.exception(e) + if attemptno == tries: + log.error( "%s failed at attempt %i, give up." % ( fn_name , attemptno ) ) + raise log.warn( "%s failed at attempt %i, trying again." % ( fn_name , attemptno ) ) time.sleep( DEFAULT_SLEEP_TIME ) - raise e -- 2.7.4