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) |