changeset 4:d74850cf4e42 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_build_bakta_database commit 404dc5eae30884c5814e463921eb3678bbd6878e
author iuc
date Fri, 25 Aug 2023 23:34:04 +0000
parents 3e73c97f025d
children baceff842902
files data_manager/bakta_build_database.py data_manager/macro.xml test-data/bakta_test.loc test-data/bakta_test_data_manager1.json test-data/bakta_test_data_manager2.json test-data/bakta_test_data_manager3.json
diffstat 6 files changed, 33 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/data_manager/bakta_build_database.py	Fri Jun 23 21:37:05 2023 +0000
+++ b/data_manager/bakta_build_database.py	Fri Aug 25 23:34:04 2023 +0000
@@ -3,6 +3,7 @@
 import json
 import os
 import re
+import shutil
 import sys
 import tarfile
 from datetime import datetime
@@ -20,17 +21,16 @@
     def __init__(
         self,
         data_table_name="bakta_database",
-        db_name=Path.cwd().joinpath("db"),
         db_version="latest",
         tarball_name="db.tar.gz",
         test_mode=False,
     ):
         self.bakta_table_list = None
         self.db_url = None
+        self.db_name = "bakta-db"
         self.db_type = ""
         self.data_table_entry = None
         self.data_table_name = data_table_name
-        self.db_name = db_name
         self.tar_name = tarball_name
         self.db_version = db_version
         self.DB_VERSIONS_URL = "https://raw.githubusercontent.com/oschwengers/bakta/master/db-versions.json"
@@ -103,7 +103,7 @@
             value=bakta_name,
             dbkey=bakta_database_info["record"],
             bakta_version=tool_version,
-            path="db",
+            path=self.db_name,
         )
         self.bakta_table_list["data_tables"][self.data_table_name] = [data_info]
         return self.bakta_table_list
@@ -117,7 +117,11 @@
     """
 
     def __init__(
-        self, db_dir=Path.cwd(), db_name="bakta", db_version="latest", test_mode=False
+        self,
+        db_dir=Path.cwd(),
+        db_name="bakta-db",
+        db_version="latest",
+        test_mode=False
     ):
         super().__init__()
         self.md5 = None
@@ -129,7 +133,6 @@
         self.get_database_type()
 
     def download(self):
-        self.db_name = f"{self.db_name}_{self.db_version}{self.db_type}"
         bakta_path = Path(self.db_dir).joinpath(self.tar_name)
         try:
             with bakta_path.open("wb") as fh_out, requests.get(
@@ -150,16 +153,31 @@
             )
 
     def untar(self):
-        db_path = Path(self.db_dir).as_posix()
+        db_path = Path(self.db_dir).joinpath(self.db_name)
         try:
             with self.tarball_path.open("rb") as fh_in, tarfile.open(
                 fileobj=fh_in, mode="r:gz"
             ) as tar_file:
                 tar_file.extractall(path=db_path)
                 print(f"Untar the database in {db_path}")
-                return db_path
+
+            if not self.test_mode:
+                self.moove_files(db_path=db_path)
+
         except OSError:
-            sys.exit(f"ERROR: Could not extract {self.tar_name} " f"to {self.db_name}")
+            sys.exit(f"ERROR: Could not extract {self.tar_name} " f"to {db_path}")
+
+    def moove_files(self, db_path):
+        if os.path.isdir(db_path.joinpath("db-light")):
+            input_dir = db_path.joinpath("db-light")
+        elif os.path.isdir(db_path.joinpath("db")):
+            input_dir = db_path.joinpath("db")
+        file_list = os.listdir(input_dir)
+        output_dir = db_path
+        for file in file_list:
+            input = input_dir.joinpath(file)
+            output = output_dir.joinpath(file)
+            shutil.move(input, output)
 
     def calc_md5_sum(self, buffer_size=1048576):
         tarball_path = Path(self.db_dir).joinpath(self.tar_name)
--- a/data_manager/macro.xml	Fri Jun 23 21:37:05 2023 +0000
+++ b/data_manager/macro.xml	Fri Aug 25 23:34:04 2023 +0000
@@ -2,7 +2,7 @@
     <token name="@TOOL_VERSION@">1.8.1</token>
     <token name="@REQUESTS_VERSION@">2.27.1</token>
     <token name="@PYTHON_VERSION@">3.8</token>
-    <token name="@VERSION_SUFFIX@">1</token>
+    <token name="@VERSION_SUFFIX@">2</token>
     <token name="@PROFILE@">21.05</token>
     <xml name="requirements">
         <requirements>
--- a/test-data/bakta_test.loc	Fri Jun 23 21:37:05 2023 +0000
+++ b/test-data/bakta_test.loc	Fri Aug 25 23:34:04 2023 +0000
@@ -1,6 +1,3 @@
-V1.0_2022-10-12	7197299	1.4	/tmp/tmpq5t7s3c5/galaxy-dev/tool-data/bakta_database/7197299
-V5.0_2023-06-08	8021027	1.8	/tmp/tmpq5t7s3c5/galaxy-dev/tool-data/bakta_database/8021027
-V5.0light_2023-06-08	8021027	1.8	/tmp/tmpq5t7s3c5/galaxy-dev/tool-data/bakta_database/8021027
-V1.0_2022-10-12	7197299	1.4	/tmp/tmpydhjlpxl/galaxy-dev/tool-data/bakta_database/7197299
-V5.0_2023-06-08	8021027	1.8	/tmp/tmpydhjlpxl/galaxy-dev/tool-data/bakta_database/8021027
-V5.0light_2023-06-08	8021027	1.8	/tmp/tmpydhjlpxl/galaxy-dev/tool-data/bakta_database/8021027
+V1.0_2022-10-12	7197299	1.4	bakta-db
+V5.0_2023-06-08	8021027	1.8	bakta-db
+V5.0light_2023-06-08	8021027	1.8	bakta-db
--- a/test-data/bakta_test_data_manager1.json	Fri Jun 23 21:37:05 2023 +0000
+++ b/test-data/bakta_test_data_manager1.json	Fri Aug 25 23:34:04 2023 +0000
@@ -1,1 +1,1 @@
-{"data_tables": {"bakta_database": [{"bakta_version": "1.4", "dbkey": "7197299", "path": "db", "value": "V1.0_2022-10-12"}]}}
\ No newline at end of file
+{"data_tables": {"bakta_database": [{"bakta_version": "1.4", "dbkey": "7197299", "path": "bakta-db", "value": "V1.0_2022-10-12"}]}}
\ No newline at end of file
--- a/test-data/bakta_test_data_manager2.json	Fri Jun 23 21:37:05 2023 +0000
+++ b/test-data/bakta_test_data_manager2.json	Fri Aug 25 23:34:04 2023 +0000
@@ -1,1 +1,1 @@
-{"data_tables": {"bakta_database": [{"bakta_version": "1.8", "dbkey": "8021027", "path": "db", "value": "V5.0_2023-06-08"}]}}
\ No newline at end of file
+{"data_tables": {"bakta_database": [{"bakta_version": "1.8", "dbkey": "8021027", "path": "bakta-db", "value": "V5.0_2023-06-08"}]}}
\ No newline at end of file
--- a/test-data/bakta_test_data_manager3.json	Fri Jun 23 21:37:05 2023 +0000
+++ b/test-data/bakta_test_data_manager3.json	Fri Aug 25 23:34:04 2023 +0000
@@ -1,1 +1,1 @@
-{"data_tables": {"bakta_database": [{"bakta_version": "1.8", "dbkey": "8021027", "path": "db", "value": "V5.0light_2023-06-08"}]}}
\ No newline at end of file
+{"data_tables": {"bakta_database": [{"bakta_version": "1.8", "dbkey": "8021027", "path": "bakta-db", "value": "V5.0light_2023-06-08"}]}}
\ No newline at end of file