diff data_manager/data_manager.py @ 1:926847693e4d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_ncbi_taxonomy/ commit 8652f36a3a3838dca989426961561e81432acf4f
author iuc
date Tue, 04 Apr 2017 18:08:21 -0400
parents fafcd2f5db36
children 4af4e175db0d
line wrap: on
line diff
--- a/data_manager/data_manager.py	Thu Oct 08 12:14:42 2015 -0400
+++ b/data_manager/data_manager.py	Tue Apr 04 18:08:21 2017 -0400
@@ -3,17 +3,15 @@
 import json
 import os
 import shutil
-import sys
 import tarfile
-import urllib2
 import zipfile
+try:
+    # For Python 3.0 and later
+    from urllib.request import Request, urlopen
+except ImportError:
+    # Fall back to Python 2 imports
+    from urllib2 import Request, urlopen
 
-parser = argparse.ArgumentParser(description='Create data manager json.')
-parser.add_argument('--out', dest='output', action='store', help='JSON filename')
-parser.add_argument('--name', dest='name', action='store', default=str(datetime.date.today()), help='Data table entry unique ID')
-parser.add_argument('--url', dest='url', action='store', default='ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz', help='Download URL')
-
-args = parser.parse_args()
 
 def url_download(url, workdir):
     file_path = os.path.join(workdir, 'download.dat')
@@ -22,22 +20,18 @@
     src = None
     dst = None
     try:
-        req = urllib2.Request(url)
-        src = urllib2.urlopen(req)
-        dst = open(file_path, 'wb')
-        while True:
-            chunk = src.read(2**10)
-            if chunk:
-                dst.write(chunk)
-            else:
-                break
-    except Exception, e:
-        print >>sys.stderr, str(e)
+        req = Request(url)
+        src = urlopen(req)
+        with open(file_path, 'wb') as dst:
+            while True:
+                chunk = src.read(2**10)
+                if chunk:
+                    dst.write(chunk)
+                else:
+                    break
     finally:
         if src:
             src.close()
-        if dst:
-            dst.close()
     if tarfile.is_tarfile(file_path):
         fh = tarfile.open(file_path, 'r:*')
     elif zipfile.is_zipfile(file_path):
@@ -64,5 +58,12 @@
         shutil.move(os.path.join(output_path, filename), target_directory)
     file(args.output, 'w').write(json.dumps(data_manager_json))
 
+
 if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description='Create data manager json.')
+    parser.add_argument('--out', dest='output', action='store', help='JSON filename')
+    parser.add_argument('--name', dest='name', action='store', default=str(datetime.date.today()), help='Data table entry unique ID')
+    parser.add_argument('--url', dest='url', action='store', default='ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz', help='Download URL')
+    args = parser.parse_args()
+
     main(args)