diff options
Diffstat (limited to 'src/quick_deploy.py')
-rw-r--r-- | src/quick_deploy.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/quick_deploy.py b/src/quick_deploy.py new file mode 100644 index 0000000..e55079f --- /dev/null +++ b/src/quick_deploy.py @@ -0,0 +1,65 @@ +import requests +import json + +url = "https://api.github.com/repos/JF002/InfiniTime/releases" +version_blacklist = ( + "0.6.0", + "0.6.1", + "0.6.2", + "0.7.0", + "0.7.1", + "0.8.0-develop", + "0.8.1-develop", + "0.8.2-develop", + "0.9.0-develop", + "0.9.0", + "0.8.3", + "0.8.2", + "0.10.0", + "0.11.0", + "0.12.0", + "0.12.1", +) + + +def get_quick_deploy_list(): + try: + r = requests.get(url) + except requests.exceptions.ConnectionError: + return [] + d = json.loads(r.content) + quick_deploy_list = [] + for item in d: + for asset in item["assets"]: + if ( + asset["content_type"] == "application/zip" + and item["tag_name"] not in version_blacklist + ): + helper_dict = { + "tag_name": item["tag_name"], + "name": asset["name"], + "browser_download_url": asset["browser_download_url"], + } + quick_deploy_list.append(helper_dict) + return quick_deploy_list + + +def get_tags(full_list): + tags = set() + for element in full_list: + tags.add(element["tag_name"]) + return sorted(tags, reverse=True) + + +def get_assets_by_tag(tag, full_list): + asset_list = [] + for element in full_list: + if tag == element["tag_name"]: + asset_list.append(element["name"]) + return asset_list + + +def get_download_url(name, tag, full_list): + for element in full_list: + if tag == element["tag_name"] and name == element["name"]: + return element["browser_download_url"] |