From 0ed2ce9a641f58d0712c524472a4ea079e0f5495 Mon Sep 17 00:00:00 2001 From: dengrb1 <125752069+dengrb1@users.noreply.github.com> Date: Fri, 26 May 2023 13:09:55 +0800 Subject: [PATCH] update --- downloads_update_now.py | 30 ++++++++++++++++++++++++++++++ update.pyw | 32 ++++++-------------------------- 2 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 downloads_update_now.py diff --git a/downloads_update_now.py b/downloads_update_now.py new file mode 100644 index 0000000..dbde6df --- /dev/null +++ b/downloads_update_now.py @@ -0,0 +1,30 @@ +import requests +import json +import os + +url = 'https://api.github.com/repos/dengrb1/chatgpt/releases/latest' + +response = requests.get(url, headers={'Accept': 'application/vnd.github.v3+json'}) +release_info = json.loads(response.text) + +new_version = release_info['tag_name'] +current_version = '1.3' # 修改为你的已有版本号 + +if new_version != current_version: + print('发现新版本: {}'.format(new_version)) + print('准备更新') + + # 下载最新程序并保存到本地 + download_url = release_info['assets'][0]['browser_download_url'] # 假设发布包第一个asset为我们要下载的程序 + file_name = download_url.split('/')[-1] + file_path = os.path.join(os.getcwd(), file_name) + + print('开始下载:{}'.format(file_name)) + response = requests.get(download_url) + with open(file_path, 'wb') as f: + f.write(response.content) + print('下载完成!') + # 打开更新程序 + os.startfile(file_path) +else: + print('当前已是最新版本') \ No newline at end of file diff --git a/update.pyw b/update.pyw index 041ec15..075fc99 100644 --- a/update.pyw +++ b/update.pyw @@ -10,6 +10,7 @@ import requests from tkinter import messagebox root = Tk() +ml = os.getcwd() def quit_exe(): root.destroy() @@ -17,32 +18,11 @@ def update_now(): webbrowser.open("https://kgithub.com/dengrb1/chatgpt/releases/") messagebox.showinfo('update', '请选择最新版本并下载运行安装程序,然后就可以更新了!') def downloads_update_now(): - url = 'https://api.github.com/repos/dengrb1/chatgpt/releases/latest' - - response = requests.get(url, headers={'Accept': 'application/vnd.github.v3+json'}) - release_info = json.loads(response.text) - - new_version = release_info['tag_name'] - current_version = '1.3' # 修改为你的已有版本号 - - if new_version != current_version: - messagebox.showinfo('在线更新','发现新版本: {}'.format(new_version)) - messagebox.showinfo('在线更新','准备更新') - - # 下载最新程序并保存到本地 - download_url = release_info['assets'][0]['browser_download_url'] # 假设发布包第一个asset为我们要下载的程序 - file_name = download_url.split('/')[-1] - file_path = os.path.join(os.getcwd(), file_name) - - print('开始下载:{}'.format(file_name)) - response = requests.get(download_url) - with open(file_path, 'wb') as f: - f.write(response.content) - print('下载完成!') - # 打开更新程序 - os.startfile(file_path) + if os.path.exists(os.path.join(ml, "downloads_update_now.exe")): + os.startfile("downloads_update_now") else: - messagebox.showinfo('在线更新','当前已是最新版本') + messagebox.showerror(':( error','在线更新模块错误:文件不存在') + # Label update_now_bt = Button(root ,text='在线更新', command=update_now).pack(side=RIGHT) @@ -73,7 +53,7 @@ text_box.configure(state='disabled') # Button quit_bt = Button(root, text='返回', command=quit_exe).pack() -update_now_bt = Button(root, text='在线更新') +update_now_bt = Button(root, text='在线更新', command=downloads_update_now).pack() # mainloop root.title('更新日志')