tahoe_get: don't create the output file on error. Closes #121.
authorBrian Warner <warner@lothar.com>
Sun, 27 Dec 2009 22:04:04 +0000 (17:04 -0500)
committerBrian Warner <warner@lothar.com>
Sun, 27 Dec 2009 22:04:04 +0000 (17:04 -0500)
src/allmydata/scripts/tahoe_get.py

index 927b210eef3b32a7daf44293e9d1d09632c79d8c..abcd927cce59c56caa76dfc8189549bf3d384cb6 100644 (file)
@@ -18,27 +18,23 @@ def get(options):
     if path:
         url += "/" + escape_path(path)
 
-    if to_file:
-        outf = open(to_file, "wb")
-        close_outf = True
-    else:
-        outf = stdout
-        close_outf = False
-
     resp = do_http("GET", url)
     if resp.status in (200, 201,):
+        if to_file:
+            outf = open(to_file, "wb")
+        else:
+            outf = stdout
         while True:
             data = resp.read(4096)
             if not data:
                 break
             outf.write(data)
+        if to_file:
+            outf.close()
         rc = 0
     else:
         print >>stderr, "Error, got %s %s" % (resp.status, resp.reason)
         print >>stderr, resp.read()
         rc = 1
 
-    if close_outf:
-        outf.close()
-
     return rc