From 32c8a5ca3fd528baa9d692603f07889010d5b010 Mon Sep 17 00:00:00 2001 From: Ambulance Clerc Date: Fri, 1 Dec 2023 17:21:08 +0100 Subject: [PATCH] =?UTF-8?q?d=C3=A9bug=20auto-update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auto_update.py | 18 +++++++++++++----- dl_version | 2 +- main.py | 33 ++++++++++++++++----------------- version.py | 2 +- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/auto_update.py b/auto_update.py index d9393ac..722b823 100644 --- a/auto_update.py +++ b/auto_update.py @@ -1,5 +1,6 @@ from version import * import urllib.request +import urllib.error import ssl import io @@ -22,15 +23,22 @@ class auto_updater: ctx.verify_mode = ssl.CERT_NONE data = urllib.request.urlopen("https://gitea.prod.resk-u.ch/CLERC/AttribWinbiz/raw/branch/master/dl_version", context=ctx) - self.dl_version = str(data.read()).replace('b', '').replace("'", "") + self.dl_version = str(data.read()).replace('b', '').replace("'", "").replace("\n","").replace('n',"") ssl._create_default_https_context = ssl._create_unverified_context if self.dl_version != VERSION: - print(f"Version différente trouvée {self.dl_version} téléchargement en cours => {self.temp_dir}update.exe") + print(f"Version différente trouvée {self.dl_version} téléchargement en cours => {self.temp_dir}clerc_update.exe") try: - urllib.request.urlretrieve(url=f"https://gitea.prod.resk-u.ch/CLERC/AttribWinbiz/releases/download/{self.clean(self.dl_version)}/Clercattrib2Biz_setup.exe", filename=f"{self.temp_dir}update.exe") - except: - print("ERREUR de téléchargement mise à jours") + url = f"https://gitea.prod.resk-u.ch/CLERC/AttribWinbiz/releases/download/{self.clean(self.dl_version)}/Clercattrib2Biz_setup.exe" + urllib.request.urlretrieve(url=url, filename=f"{self.temp_dir}clerc_update.exe") + except urllib.error.URLError as e: + print(f"ERREUR de téléchargement mise à jour : {e.reason} \n {url}") + return "ERROR" + except urllib.error.HTTPError as e: + print(f"ERREUR HTTP lors du téléchargement : {e.code} {e.reason} \n {url}") + return "ERROR" + except Exception as e: + print(f"Erreur inattendue : {e} \n {url}") return "ERROR" ret = True return ret diff --git a/dl_version b/dl_version index 57b1c5c..78ccf76 100644 --- a/dl_version +++ b/dl_version @@ -1 +1 @@ -20231128-1639 +20231201-1716 \ No newline at end of file diff --git a/main.py b/main.py index 563c7fe..09876a7 100644 --- a/main.py +++ b/main.py @@ -269,7 +269,7 @@ class ClercAttrib2Biz(): if update_available == True: self.logger.warning(f"Nouvelle version du script disponible. {auto_update.dl_version}") if messagebox.askyesno(title="Nouvelle version trouvée", message=f"Une nouvelle version a été trouvée, vous pouvez l'installer dès maintenant !", ): - subprocess.call(temp_dir + "\\update.exe") + subprocess.call(temp_dir + "\\clerc_update.exe") self.fenetre.destroy() elif update_available == "ERROR": messagebox.showerror(title="ERREUR téléchargement", message="Erreur lors du téléchargement de la nouvelle mise à jour") @@ -379,22 +379,21 @@ class ClercAttrib2Biz(): data.Debtor["name"] = data.Debtor["name"].strip() - def check_code_validity(self, code,data): - ret = True - check_patients = ["firstname", "lastname", "street"] - check_Debtor = ["firstname", "lastname", "street"] - if code == 1: - for check in check_patients: - if data.Patient[check] is None: - ret = False - for check in check_Debtor: - if data.Debtor[check] is None: - ret = False - if not ret: - messagebox.showerror(title="Erreur Critique", message=f"Les informations de la factures [{data.data['id']}] comportes trop d'erreur arrêt du processus ") - return False + def check_required_field_by_code(self, code, data): + required_fields = { + 1: ["firstname", "lastname", "street"], # facturation au patient code = 1 + } - return ret + if code in required_fields: + for field in required_fields[code]: + if data.Patient[field] is None or data.Debtor[field] is None: + messagebox.showerror( + title="Erreur Critique", + message=f"Les informations de la facture [{data.data['id']}] comportent trop d'erreurs. Arrêt du processus.", + ) + return False + + return True def compare_old_and_new_adresses(self, new, old, code): print(f"compare_old_and_new_adresses ") @@ -469,7 +468,7 @@ class ClercAttrib2Biz(): return False if int(data.Debtor["code"]) == 1: - if not self.check_code_validity(data.Debtor["code"],data): + if not self.check_required_field_by_code(data.Debtor["code"], data): messagebox.showerror(title="Erreur Critique", message=f"Les informations de la factures [{data.data['id']}] comportes trop d'erreur arrêt du processus ") return False diff --git a/version.py b/version.py index 185f658..f1a7c6c 100644 --- a/version.py +++ b/version.py @@ -1,2 +1,2 @@ -VERSION = "20231128-1639" +VERSION = "20231201-1716"