diff data_manager/data_manager_plant_tribes_scaffolds_download.py @ 4:93253aebaf2e draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_plant_tribes_scaffolds_downloader commit 6085b7d47fcb47ad1587ac2542abdef782f61fe4"
author iuc
date Fri, 17 Jul 2020 04:19:35 -0400
parents 5833ef61c1f8
children 1550b1741780
line wrap: on
line diff
--- a/data_manager/data_manager_plant_tribes_scaffolds_download.py	Fri Aug 17 07:04:08 2018 -0400
+++ b/data_manager/data_manager_plant_tribes_scaffolds_download.py	Fri Jul 17 04:19:35 2020 -0400
@@ -7,9 +7,8 @@
 import shutil
 import sys
 import tarfile
-import urllib2
 import zipfile
-
+from urllib.request import Request, urlopen
 
 DEFAULT_DATA_TABLE_NAMES = ["plant_tribes_scaffolds"]
 
@@ -52,22 +51,20 @@
     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
+        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
     except Exception as e:
-        print >>sys.stderr, str(e)
+        sys.exit(str(e))
     finally:
         if src:
             src.close()
-        if dst:
-            dst.close()
     return file_path
 
 
@@ -117,9 +114,8 @@
 
 args = parser.parse_args()
 
-# Some magic happens with tools of type "manage_data" in that the output
-# file contains some JSON data that allows us to define the target directory.
-params = json.loads(open(args.out_file).read())
+with open(args.out_file) as fh:
+    params = json.loads(fh.read())
 target_directory = params['output_data'][0]['extra_files_path']
 make_directory(target_directory)
 
@@ -131,6 +127,5 @@
 # Get the scaffolds data.
 data_manager_dict = download(target_directory, args.web_url, args.config_web_url, description)
 # Write the JSON output dataset.
-fh = open(args.out_file, 'wb')
-fh.write(json.dumps(data_manager_dict))
-fh.close()
+with open(args.out_file, 'w') as fh:
+    fh.write(json.dumps(data_manager_dict, sort_keys=True))