annotate data_manager/nextclade_dm.py @ 1:c8b67693199e 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:44:04 +0000
parents 4de9e77bcc9e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)