summaryrefslogtreecommitdiffstats
path: root/src/quick_deploy.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick_deploy.py')
-rw-r--r--src/quick_deploy.py65
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"]