Ajout d'un système de mise à jour automatique lors du lancement #50
43
launch.py
43
launch.py
|
@ -1,6 +1,41 @@
|
||||||
|
from pathlib import Path
|
||||||
import subprocess as sp
|
import subprocess as sp
|
||||||
import os
|
from zipfile import ZipFile
|
||||||
|
import requests as rq
|
||||||
|
import os, sys, shutil
|
||||||
|
|
||||||
folder_path = __file__.replace("\\", "/")[:-10]
|
|
||||||
os.chdir(folder_path)
|
project_folder = Path.home() / ".ponguito"
|
||||||
sp.call(f'python "{folder_path}/src/main.py"')
|
project_folder.mkdir(exist_ok=True, parents=True)
|
||||||
|
os.chdir(project_folder)
|
||||||
|
|
||||||
|
# Récupération de la version locale
|
||||||
|
try:
|
||||||
|
with open("version.txt", "r") as f:
|
||||||
|
version = f.read()
|
||||||
|
except:
|
||||||
|
version = "0.0.0"
|
||||||
|
|
||||||
|
# Récupération de la version du serveur
|
||||||
|
try:
|
||||||
|
response = rq.get("https://git.tipragot.fr/raphael/ponguito/raw/branch/main/version.txt")
|
||||||
|
server_version = response.text
|
||||||
|
except:
|
||||||
|
print("Impossible de se connecter au serveur")
|
||||||
|
server_version = version
|
||||||
|
|
||||||
|
# Mise à jour de la version locale
|
||||||
|
if server_version != version:
|
||||||
|
response = rq.get("https://git.tipragot.fr/raphael/ponguito/archive/main.zip")
|
||||||
|
if response.status_code == 200:
|
||||||
|
with open("main.zip", "wb") as f:
|
||||||
|
f.write(response.content)
|
||||||
|
ZipFile("main.zip").extractall()
|
||||||
|
os.remove("main.zip")
|
||||||
|
shutil.rmtree("game")
|
||||||
|
os.rename("ponguito", "game")
|
||||||
|
os.rename("game/launch.py", __file__)
|
||||||
|
|
||||||
|
# Lancement du jeu
|
||||||
|
os.chdir(project_folder / "game")
|
||||||
|
sp.call([sys.executable, f"src/main.py"])
|
||||||
|
|
|
@ -94,12 +94,12 @@ def __create_button(world: World, name: str):
|
||||||
|
|
||||||
def new_score(world: World, e: Entity):
|
def new_score(world: World, e: Entity):
|
||||||
e.remove(Clickable)
|
e.remove(Clickable)
|
||||||
if os.path.exists("username.txt"):
|
if os.path.exists("../username.txt"):
|
||||||
with open("username.txt", "r") as f:
|
with open("../username.txt", "r") as f:
|
||||||
name = f.read()
|
name = f.read()
|
||||||
else:
|
else:
|
||||||
name = world.query(Writing).pop()
|
name = world.query(Writing).pop()
|
||||||
with open("username.txt", "w") as f:
|
with open("../username.txt", "w") as f:
|
||||||
f.write(name[Text])
|
f.write(name[Text])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
1
version.txt
Normal file
1
version.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
1.0.0
|
Loading…
Reference in a new issue