Merge pull request #4772 from mscherer/fix_4763

Try/finally is a python 2.5 construct, so not working on EL5. Fix #4763
This commit is contained in:
jctanner 2013-11-04 15:36:02 -08:00
commit 8e105bbfba

View file

@ -345,12 +345,12 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
log("got a failed response from the master")
return dict(failed=True, stderr="Master reported failure, aborting transfer")
except Exception, e:
fd.close()
tb = traceback.format_exc()
log("failed to fetch the file: %s" % tb)
return dict(failed=True, stderr="Could not fetch the file: %s" % str(e))
finally:
fd.close()
fd.close()
return dict()
def put(self, data):
@ -388,12 +388,13 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
data = self.server.key.Decrypt(data)
data = json.loads(data)
except:
out_fd.close()
tb = traceback.format_exc()
log("failed to put the file: %s" % tb)
return dict(failed=True, stdout="Could not write the file")
finally:
vvvv("wrote %d bytes" % bytes)
out_fd.close()
vvvv("wrote %d bytes" % bytes)
out_fd.close()
if final_path:
vvv("moving %s to %s" % (out_path, final_path))