mirror of
https://github.com/norohind/EDMC_SpanshRouter.git
synced 2026-10-22 18:02:08 +03:00
Add an updater program
This commit is contained in:
1 parent
5729c8e4d6
commit
80f2eeaa87
2 files changed
+46
No files matched your search
@@ -8,6 +8,7 @@ import json
|
||||
import webbrowser
|
||||
import requests
|
||||
import traceback
|
||||
import subprocess
|
||||
from time import sleep
|
||||
from AutoCompleter import AutoCompleter
|
||||
from PlaceHolderEntry import PlaceHolderEntry
|
||||
@@ -41,6 +42,9 @@ def plugin_start(plugin_dir):
|
||||
if response.status_code == 200:
|
||||
if this.plugin_version != response.content:
|
||||
this.update_available = True
|
||||
pid = os.getpid()
|
||||
print("PID: " + str(pid))
|
||||
subprocess.Popen(["./updater.py", "--pid=" + str(pid), "--version=" + response.content])
|
||||
else:
|
||||
sys.stderr.write("Could not query latest version from GitHub: " + str(response.status_code) + response.text)
|
||||
except NameError:
|
||||
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python2
|
||||
|
||||
import os
|
||||
import requests
|
||||
import sys
|
||||
import argparse
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
def is_running(pid):
|
||||
try:
|
||||
os.kill(pid, 0)
|
||||
except OSError:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--pid')
|
||||
parser.add_argument('--version')
|
||||
|
||||
args = parser.parse_args()
|
||||
pid = args.pid
|
||||
version = args.version
|
||||
|
||||
zip_name = "EDMC_SpanshRouter_" + args.version.replace('.', '') + ".zip"
|
||||
url = 'https://github.com/CMDR-Kiel42/EDMC_SpanshRouter/releases/download/v' + args.version + '/' + zip_name
|
||||
r = requests.get(url)
|
||||
with open(zip_name, 'wb') as f:
|
||||
f.write(r.content)
|
||||
|
||||
while is_running(int(pid)):
|
||||
time.sleep(.25)
|
||||
|
||||
with zipfile.ZipFile(zip_name, 'r') as zip_ref:
|
||||
zip_ref.extractall("./")
|
||||
|
||||
os.remove(zip_name)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in new issue
Block a user