diff data_manager/gtdbtk_database_installer.py @ 1:7093598fa300 draft

Uploaded
author greg
date Tue, 15 Mar 2022 19:31:23 +0000
parents 3ab83cb7e2d2
children e4fe7259c4e9
line wrap: on
line diff
--- a/data_manager/gtdbtk_database_installer.py	Tue Mar 15 15:32:31 2022 +0000
+++ b/data_manager/gtdbtk_database_installer.py	Tue Mar 15 19:31:23 2022 +0000
@@ -9,15 +9,15 @@
 from urllib.parse import urlparse
 
 
-def url_download(url, work_dir):
+def url_download(url, target_directory):
     url_parts = urlparse(url)
-    file_path = os.path.abspath(os.path.join(work_dir, os.path.basename(url_parts.path)))
+    tarball = os.path.abspath(os.path.join(target_directory, os.path.basename(url_parts.path)))
     src = None
     dst = None
     try:
         req = Request(url)
         src = urlopen(req)
-        with open(file_path, 'wb') as dst:
+        with open(tarball, 'wb') as dst:
             while True:
                 chunk = src.read(2**10)
                 if chunk:
@@ -27,15 +27,16 @@
     except Exception as e:
         sys.exit(str(e))
     finally:
-        if src:
+        if src is not None:
             src.close()
-    if tarfile.is_tarfile(file_path):
-        fh = tarfile.open(file_path, 'r:*')
+    if tarfile.is_tarfile(tarball):
+        fh = tarfile.open(tarball, 'r:*')
     else:
-        return file_path
-    fh.extractall(work_dir)
-    os.remove(file_path)
-    return work_dir
+        return tarball
+    fh.extractall(target_directory)
+    fh.close()
+    os.remove(tarball)
+    return target_directory
 
 
 def download(database_id, database_name, url, out_file):
@@ -43,15 +44,15 @@
     with open(out_file) as fh:
         params = json.load(fh)
 
-    work_dir = params['output_data'][0]['extra_files_path']
-    os.makedirs(work_dir)
-    file_path = url_download(url, work_dir)
+    target_directory = params['output_data'][0]['extra_files_path']
+    os.makedirs(target_directory)
+    file_path = url_download(url, target_directory)
 
     data_manager_json = {"data_tables": {}}
     data_manager_entry = {}
     data_manager_entry['value'] = database_id
     data_manager_entry['name'] = database_name
-    data_manager_entry['path'] = file_path
+    data_manager_entry['db_path'] = file_path
     data_manager_json["data_tables"]["gtdbtk_database"] = data_manager_entry
 
     with open(out_file, 'w') as fh: