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 webbrowser
|
||||||
import requests
|
import requests
|
||||||
import traceback
|
import traceback
|
||||||
|
import subprocess
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from AutoCompleter import AutoCompleter
|
from AutoCompleter import AutoCompleter
|
||||||
from PlaceHolderEntry import PlaceHolderEntry
|
from PlaceHolderEntry import PlaceHolderEntry
|
||||||
@@ -41,6 +42,9 @@ def plugin_start(plugin_dir):
|
|||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
if this.plugin_version != response.content:
|
if this.plugin_version != response.content:
|
||||||
this.update_available = True
|
this.update_available = True
|
||||||
|
pid = os.getpid()
|
||||||
|
print("PID: " + str(pid))
|
||||||
|
subprocess.Popen(["./updater.py", "--pid=" + str(pid), "--version=" + response.content])
|
||||||
else:
|
else:
|
||||||
sys.stderr.write("Could not query latest version from GitHub: " + str(response.status_code) + response.text)
|
sys.stderr.write("Could not query latest version from GitHub: " + str(response.status_code) + response.text)
|
||||||
except NameError:
|
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