Mercurial > repos > iuc > data_manager_nextclade
annotate data_manager/nextclade_dm.py @ 0:4de9e77bcc9e draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
author | iuc |
---|---|
date | Sat, 30 Jul 2022 08:09:42 +0000 |
parents | |
children |
rev | line source |
---|---|
0
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
2 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
11 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
12 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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. |
4de9e77bcc9e
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 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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") |
4de9e77bcc9e
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: |
4de9e77bcc9e
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") |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
21 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
22 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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 ( |
4de9e77bcc9e
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"] |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
26 ) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
27 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
28 |
4de9e77bcc9e
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]: |
4de9e77bcc9e
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 = [ |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
37 ] |
4de9e77bcc9e
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) |
4de9e77bcc9e
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) |
4de9e77bcc9e
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 = [] |
4de9e77bcc9e
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: |
4de9e77bcc9e
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"] |
4de9e77bcc9e
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 = { |
4de9e77bcc9e
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), |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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( |
4de9e77bcc9e
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", "") |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
49 ), |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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"], |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
52 } |
4de9e77bcc9e
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) |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
55 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
56 |
4de9e77bcc9e
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( |
4de9e77bcc9e
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], |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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]: |
4de9e77bcc9e
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 = [] |
4de9e77bcc9e
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: |
4de9e77bcc9e
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 ( |
4de9e77bcc9e
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 |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
69 ): |
4de9e77bcc9e
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 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
75 |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
77 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
78 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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 = [ |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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", |
4de9e77bcc9e
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, |
4de9e77bcc9e
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", |
4de9e77bcc9e
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, |
4de9e77bcc9e
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", |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
89 ] |
4de9e77bcc9e
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) / ( |
4de9e77bcc9e
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(":", "-") |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
92 ) |
4de9e77bcc9e
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)) |
4de9e77bcc9e
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) |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
96 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
97 |
4de9e77bcc9e
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]: |
4de9e77bcc9e
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(",") |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
100 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
101 |
4de9e77bcc9e
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__": |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
103 |
4de9e77bcc9e
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() |
4de9e77bcc9e
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") |
4de9e77bcc9e
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") |
4de9e77bcc9e
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) |
4de9e77bcc9e
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) |
4de9e77bcc9e
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) |
4de9e77bcc9e
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"]) |
4de9e77bcc9e
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") |
4de9e77bcc9e
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") |
4de9e77bcc9e
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() |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
114 |
4de9e77bcc9e
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 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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) |
4de9e77bcc9e
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: |
4de9e77bcc9e
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() |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
120 |
4de9e77bcc9e
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() |
4de9e77bcc9e
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: |
4de9e77bcc9e
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 = [] |
4de9e77bcc9e
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: |
4de9e77bcc9e
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( |
4de9e77bcc9e
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( |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
127 [], |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
132 ) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
133 ) |
4de9e77bcc9e
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: |
4de9e77bcc9e
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( |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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(), |
4de9e77bcc9e
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"], |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
140 ) |
4de9e77bcc9e
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) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
142 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
145 |
4de9e77bcc9e
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) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
147 |
4de9e77bcc9e
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: []}} |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
149 |
4de9e77bcc9e
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 = [] |
4de9e77bcc9e
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: |
4de9e77bcc9e
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: |
4de9e77bcc9e
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: |
4de9e77bcc9e
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: |
4de9e77bcc9e
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: |
4de9e77bcc9e
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 |
4de9e77bcc9e
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) |
4de9e77bcc9e
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 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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: |
4de9e77bcc9e
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( |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
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, |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
167 ) |
4de9e77bcc9e
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) |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
169 |
4de9e77bcc9e
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: |
4de9e77bcc9e
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( |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
173 ) |
4de9e77bcc9e
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: |
4de9e77bcc9e
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( |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
176 { |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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"], |
4de9e77bcc9e
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 |
4de9e77bcc9e
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), |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
183 } |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
184 ) |
4de9e77bcc9e
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( |
4de9e77bcc9e
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 |
4de9e77bcc9e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_nextclade commit 3d6dabd066dcbe31cfa38fbfac340e253d8a984d
iuc
parents:
diff
changeset
|
187 ) |
4de9e77bcc9e
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: |
4de9e77bcc9e
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) |