[elbe-devel] [PATCH] soapclient: download_file: fix uninitialized retry
John Ogness
john.ogness at linutronix.de
Wed Sep 5 12:01:07 CEST 2018
If an exception is generated from self.service.get_file(), the retry
variable is decremented. But it was never initialized, resulting in
the trace below. (The ret variable is also never initialized.)
I do not understand why retrying the download would help (in my case
the elbe-daemon crashed), but I chose to initialize retry so that it
retries once.
Traceback (most recent call last):
File "/usr/bin/elbe", line 55, in <module>
cmdmod.run_command(sys.argv[2:])
File "/usr/lib/python2.7/dist-packages/elbepack/commands/control.py", line 161, in run_command
action.execute(control, opt, args[1:])
File "/usr/lib/python2.7/dist-packages/elbepack/soapclient.py", line 444, in execute
client.download_file(builddir, filename, dst_fname)
File "/usr/lib/python2.7/dist-packages/elbepack/soapclient.py", line 89, in download_file
retry = retry - 1
UnboundLocalError: local variable 'retry' referenced before assignment
Signed-off-by: John Ogness <john.ogness at linutronix.de>
---
elbepack/soapclient.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/elbepack/soapclient.py b/elbepack/soapclient.py
index fbb29a97..79f59a65 100644
--- a/elbepack/soapclient.py
+++ b/elbepack/soapclient.py
@@ -81,12 +81,14 @@ class ElbeSoapClient(object):
def download_file(self, builddir, filename, dst_fname):
fp = file(dst_fname, "w")
part = 0
+ retry = 2
while True:
try:
ret = self.service.get_file(builddir, filename, part)
except BadStatusLine as e:
retry = retry - 1
+ ret = "Exception"
if not retry:
fp.close()
print("file transfer failed", file=sys.stderr)
--
2.15.1
More information about the elbe-devel
mailing list