kinve 2 роки тому
коміт
a78c38d1b4
1 змінених файлів з 43 додано та 0 видалено
  1. 43 0
      GitAutoupdater.py

+ 43 - 0
GitAutoupdater.py

@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import requests
+from urllib.request import urlretrieve
+import os
+import argparse
+
+def http_down(project, down_list=[], proxy=""):
+    git_api = "https://api.github.com/repos/{}/releases/latest".format(project) 
+    git_releases="https://github.com/{}/releases/download/".format(project) 
+
+    print("获取", git_api)
+    r = requests.get(git_api, verify=False)  #不检查证书
+    # print(soup)
+    latest_version = r.json()["tag_name"]
+    print('Latest version:', latest_version)
+    git_down_url=proxy+git_releases+latest_version+"/"
+    print('git_down_url:', git_down_url)
+    if len(down_list):
+        if not os.path.exists(latest_version):
+            os.makedirs(latest_version)
+    for i in down_list:
+        print('down {}...'.format(i))
+        urlretrieve(git_down_url+i, latest_version+"/"+i)
+    print("下载完成")    
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser()
+    parser.add_argument("n", help="项目,譬如 yisier/nps")
+    parser.add_argument("l", help="下载列表,譬如 windows_amd64_client.tar.gz,windows_amd64_server.tar.gz")
+    parser.add_argument("-p", default=False, help="代理,譬如 https://ghproxy.com/")
+
+    args = parser.parse_args()
+    project = str(args.n)
+    down_list = list_str = str(args.l).split(",")
+    proxy = "https://ghproxy.com/"
+    if args.p:
+        proxy = str(args.p)
+
+    http_down(project, down_list, proxy)
+
+