changeset 18:04bee0f935a2 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 476cb50265f7dcb492fa2d0f03f595b1363faf7a
author pimarin
date Wed, 09 Nov 2022 15:49:56 +0000
parents ecb7d3d41366
children c90380f8bbbc
files data_manager/bakta_build_database.py data_manager/bakta_build_database.xml data_manager/macro.xml test-data/bakta_test.loc test-data/bakta_test_data_manager.json tool-data/bakta_database.loc
diffstat 6 files changed, 20 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/data_manager/bakta_build_database.py	Fri Nov 04 15:56:27 2022 +0000
+++ b/data_manager/bakta_build_database.py	Wed Nov 09 15:49:56 2022 +0000
@@ -3,15 +3,12 @@
 import json
 import os
 import sys
-import subprocess
+# import subprocess
 import tarfile
 from datetime import datetime
 from pathlib import Path
-
-
 # implement pip as a subprocess:
-subprocess.check_call([sys.executable, '-m', 'pip', 'install',
-'requests'])
+# subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'requests'])
 
 import requests
 
@@ -35,15 +32,8 @@
 
     def get_data_table_format(self):
         """
-        Build a data table format for galaxy
-        using the bakta database information
-        @str database_value: string of the database name
-        @str database_date: string of the database date of build (YY-M-D)
-        @str database_bakta_version: string of the version of bakta tool
-         to apply a filter on version compatibility
-        @str database_path: string of the database path
-        for the database location
-        return: a data table formatted for json output
+        Skeleton of a data_table format
+        return: a data table formated for json output
         """
         self.data_table_entry = {
             "data_tables": {
@@ -54,10 +44,7 @@
 
     def fetch_db_versions(self, db_version="latest"):
         """
-        Use method from bakta tool to extract database info
-        db_version: a string of the version number
-        in the galaxy wrapper list or just latest
-        return: info for the select or the latest bakta db version
+        List bakta database info depending of the db_version selected
         """
         try:
             with requests.get(self.DB_VERSIONS_URL) as resp:
@@ -71,8 +58,7 @@
                 for db_dic in versions:
                     db_date_list.append(datetime.strptime(db_dic["date"],
                                                           '%Y-%m-%d').date())
-                filtered_version = next(item for item in versions
-                                        if max(db_date_list))
+                filtered_version = max(versions, key=lambda x: x['date'])
             elif db_version == "test":
                 filtered_version = {"date": "date_test",
                                     "major": "0",
@@ -84,16 +70,13 @@
                                                      "minor": "0"}
                                     }
             else:
-                major_version = str(db_version.split(sep=".")[0])
-                minor_version = str(db_version.split(sep=".")[1])
-                try:
-                    filtered_version = next(
-                        item for item in versions
-                        if str(item["major"]) == major_version
-                        and str(item["minor"]) == minor_version)
-                except StopIteration:
-                    print("No available version detected in the list")
-                    filtered_version = None
+                filtered_version = None
+                for item in versions:
+                    if '{0}.{1}'.format(item["major"], item["minor"]) == db_version:
+                        filtered_version = item
+                        break
+                if filtered_version is None:
+                    print("No matching version detected in the list")
             if filtered_version is not None:
                 self.db_url = f"https://zenodo.org/record/" \
                               f"{filtered_version['record']}/files/db.tar.gz"
--- a/data_manager/bakta_build_database.xml	Fri Nov 04 15:56:27 2022 +0000
+++ b/data_manager/bakta_build_database.xml	Wed Nov 09 15:49:56 2022 +0000
@@ -9,9 +9,7 @@
         python '$__tool_directory__/bakta_build_database.py'
         '$output_file'
         --database_version '$database_select'
-        #if '$test_data_manager' != ''
-            '$test_data_manager'
-        #end if
+        $test_data_manager
       ]]></command>
     <inputs>
         <param name="database_select" type="select" label="Database version" help="Choose a database version to download (default latest version)">
--- a/data_manager/macro.xml	Fri Nov 04 15:56:27 2022 +0000
+++ b/data_manager/macro.xml	Wed Nov 09 15:49:56 2022 +0000
@@ -1,11 +1,13 @@
 <macros>
     <token name="@TOOL_VERSION@">1.5.1</token>
+    <token name="@REQUESTS_VERSION@">2.27.1</token>
     <token name="@PYTHON_VERSION@">3.8</token>
     <token name="@VERSION_SUFFIX@">0</token>
     <token name="@PROFILE@">21.05</token>
     <xml name="requirements">
-        <requirements>w
+        <requirements>
             <requirement type="package" version="@PYTHON_VERSION@">python</requirement>
+            <requirement type="package" version="@REQUESTS_VERSION@">requests</requirement>
         </requirements>
     </xml>
 </macros>
--- a/test-data/bakta_test.loc	Fri Nov 04 15:56:27 2022 +0000
+++ b/test-data/bakta_test.loc	Wed Nov 09 15:49:56 2022 +0000
@@ -4,4 +4,4 @@
 # value, dbkey, bakta_version, path
 #
 # for example
-7197299 V0.0_date_test  0.0 ${__HERE__}
+7197299	V0.0_date_test	0.0	${__HERE__}
--- a/test-data/bakta_test_data_manager.json	Fri Nov 04 15:56:27 2022 +0000
+++ b/test-data/bakta_test_data_manager.json	Wed Nov 09 15:49:56 2022 +0000
@@ -1,1 +1,1 @@
-{"data_tables": {"bakta_database": [{"bakta_version": "0.0", "dbkey": "V0.0_date_test", "path": "db", "value": "7197299"}]}}
+{"data_tables": {"bakta_database": [{"bakta_version": "0.0", "dbkey": "V0.0_date_test", "path": "db", "value": "7197299"}]}}
\ No newline at end of file
--- a/tool-data/bakta_database.loc	Fri Nov 04 15:56:27 2022 +0000
+++ b/tool-data/bakta_database.loc	Wed Nov 09 15:49:56 2022 +0000
@@ -4,4 +4,4 @@
 # value, dbkey, bakta_version, path
 #
 # for example
-#7197299 V0.0_date_test  0.0 ${__HERE__}
+#7197299	V0.0_date_test	0.0	${__HERE__}