Mercurial > repos > iuc > data_manager_nextclade
annotate data_manager/nextclade_dm.py @ 1:8b7bb3c635b1 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 0617f25cbfdca61240f16b85ae21f3cd46b1a44e
| author | iuc | 
|---|---|
| date | Sat, 06 Aug 2022 15:43:32 +0000 | 
| parents | 6e64cb3d2b1d | 
| children | 
| rev | line source | 
|---|---|
| 0 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 1 #!/usr/bin/env python | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 2 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 3 import argparse | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 4 import datetime | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 5 import json | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 6 import operator | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 7 import pathlib | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 8 import subprocess | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 9 import sys | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 10 from typing import List | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 11 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 12 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 13 def parse_date(d: str) -> datetime.datetime: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 14 # Parses the publication date from the nextclade release tags or user input into a datetime object. | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 15 date = None | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 16 try: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 17 date = datetime.datetime.strptime(d, "%Y-%m-%dT%H:%M:%SZ") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 18 except ValueError: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 19 date = datetime.datetime.strptime(d, "%Y-%m-%d") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 20 return date | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 21 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 22 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 23 def entry_to_tag(entry: dict) -> str: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 24 return ( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 25 entry["attributes"]["name"]["value"] + "_" + entry["attributes"]["tag"]["value"] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 26 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 27 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 28 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 29 def get_database_list() -> List[dict]: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 30 list_cmd = [ | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 31 "nextclade", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 32 "dataset", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 33 "list", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 34 "--json", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 35 "--include-old", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 36 "--include-incompatible", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 37 ] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 38 list_proc = subprocess.run(list_cmd, capture_output=True, check=True) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 39 database_list = json.loads(list_proc.stdout) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 40 entry_list = [] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 41 for db_entry in database_list: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 42 attributes = db_entry["attributes"] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 43 entry = { | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 44 "value": entry_to_tag(db_entry), | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 45 "database_name": attributes["name"]["value"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 46 "description": attributes["name"]["valueFriendly"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 47 "date": datetime.datetime.fromisoformat( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 48 attributes["tag"]["value"].replace("Z", "") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 49 ), | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 50 "tag": attributes["tag"]["value"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 51 "min_nextclade_version": db_entry["compatibility"]["nextcladeCli"]["min"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 52 } | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 53 entry_list.append(entry) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 54 return entry_list | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 55 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 56 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 57 def filter_by_date( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 58 existing_release_tags: List[str], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 59 name: str, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 60 releases: list, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 61 start_date: datetime.datetime = None, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 62 end_date: datetime.datetime = None, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 63 ) -> List[dict]: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 64 ret = [] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 65 for release in releases: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 66 if ( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 67 release["database_name"] != name | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 68 or release["value"] in existing_release_tags | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 69 ): | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 70 continue | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 71 if start_date and release["date"] < start_date: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 72 break | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 73 if not end_date or release["date"] <= end_date: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 74 ret.append(release) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 75 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 76 return ret | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 77 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 78 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 79 def download_and_unpack(name: str, release: str, output_directory: str) -> pathlib.Path: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 80 download_cmd = [ | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 81 "nextclade", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 82 "dataset", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 83 "get", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 84 "--name", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 85 name, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 86 "--tag", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 87 release, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 88 "--output-dir", | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 89 ] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 90 output_path = pathlib.Path(output_directory) / ( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 91 name + "_" + release.replace(":", "-") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 92 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 93 download_cmd.append(str(output_path)) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 94 subprocess.run(download_cmd, check=True) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 95 return output_path | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 96 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 97 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 98 def comma_split(args: str) -> List[str]: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 99 return args.split(",") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 100 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 101 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 102 if __name__ == "__main__": | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 103 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 104 parser = argparse.ArgumentParser() | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 105 parser.add_argument("--testmode", default=False, action="store_true") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 106 parser.add_argument("--latest", default=False, action="store_true") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 107 parser.add_argument("--start_date", type=parse_date) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 108 parser.add_argument("--end_date", type=parse_date) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 109 parser.add_argument("--known_revisions", type=comma_split) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 110 parser.add_argument("--datasets", type=comma_split, default=["sars-cov-2"]) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 111 parser.add_argument("datatable_name", default="nextclade") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 112 parser.add_argument("galaxy_config") | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 113 args = parser.parse_args() | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 114 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 115 # known-revisions is populated from the Galaxy data table by the wrapper | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 116 if args.known_revisions is not None: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 117 existing_release_tags = set(args.known_revisions) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 118 else: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 119 existing_release_tags = set() | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 120 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 121 releases_available = get_database_list() | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 122 if args.testmode: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 123 releases = [] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 124 for name in args.datasets: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 125 releases.extend( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 126 filter_by_date( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 127 [], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 128 name, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 129 releases_available, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 130 start_date=args.start_date, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 131 end_date=args.end_date, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 132 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 133 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 134 for release in releases: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 135 print( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 136 release["value"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 137 release["description"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 138 release["date"].isoformat(), | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 139 release["min_nextclade_version"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 140 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 141 sys.exit(0) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 142 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 143 with open(args.galaxy_config) as fh: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 144 config = json.load(fh) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 145 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 146 output_directory = config.get("output_data", [{}])[0].get("extra_files_path", None) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 147 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 148 data_manager_dict = {"data_tables": {args.datatable_name: []}} | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 149 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 150 releases = [] | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 151 if args.latest: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 152 for dataset in args.datasets: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 153 for release in releases_available: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 154 if release["database_name"] == dataset: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 155 if release["value"] not in existing_release_tags: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 156 # add the latest release for this dataset, but only if we don't already have it | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 157 releases.append(release) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 158 break | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 159 else: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 160 for dataset in args.datasets: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 161 releases_for_ds = filter_by_date( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 162 existing_release_tags, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 163 dataset, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 164 releases_available, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 165 start_date=args.start_date, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 166 end_date=args.end_date, | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 167 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 168 releases.extend(releases_for_ds) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 169 | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 170 for release in releases: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 171 fname = download_and_unpack( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 172 release["database_name"], release["tag"], output_directory | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 173 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 174 if fname is not None: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 175 data_manager_dict["data_tables"][args.datatable_name].append( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 176 { | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 177 "value": release["value"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 178 "database_name": release["database_name"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 179 "description": release["description"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 180 "min_nextclade_version": release["min_nextclade_version"], | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 181 "date": release["date"].isoformat(), # ISO 8601 is easily sortable | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 182 "path": str(output_directory / fname), | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 183 } | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 184 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 185 data_manager_dict["data_tables"][args.datatable_name].sort( | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 186 key=operator.itemgetter("value"), reverse=True | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 187 ) | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 188 with open(args.galaxy_config, "w") as fh: | 
| 
6e64cb3d2b1d
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
 iuc parents: diff
changeset | 189 json.dump(data_manager_dict, fh, indent=2, sort_keys=True) | 
