From 10c98bb96ebec6fd45bb9dfbebc670500cc8d388 Mon Sep 17 00:00:00 2001 From: Theophile Terraz Date: Tue, 9 Dec 2025 14:25:38 +0100 Subject: [PATCH] release for Jerome --- src/View/About/Window.py | 2 +- src/View/LateralContribution/translate.py | 3 +- src/View/MainWindow.py | 4 +- src/View/Results/Window.py | 67 ++++++----- src/View/Results/translate.py | 7 ++ src/lang/fr.ts | 130 ++++++++++++++++------ 6 files changed, 151 insertions(+), 62 deletions(-) diff --git a/src/View/About/Window.py b/src/View/About/Window.py index a110c2ea..97a1ef8b 100644 --- a/src/View/About/Window.py +++ b/src/View/About/Window.py @@ -55,7 +55,7 @@ class AboutWindow(PamhyrDialog): label = self.get_label_text("label_version") label = label.replace("@version", version) - label = label.replace("@codename", "(Adis-TS)") + label = label.replace("@codename", "(Le Coz)") self.set_label_text("label_version", label) # Authors diff --git a/src/View/LateralContribution/translate.py b/src/View/LateralContribution/translate.py index 787e0cfb..29e4d396 100644 --- a/src/View/LateralContribution/translate.py +++ b/src/View/LateralContribution/translate.py @@ -53,7 +53,8 @@ class LCTranslate(MainTranslate): self._dict["y"] = _translate("Geometry", "Y (m)") self._dict["z"] = _translate("Geometry", "Z (m)") self._dict["file_lat"] = _translate( - "LateralContribution", "Shapefile (*.LAT *.lat)") + "LateralContribution", + "Mage lateral contributions file (*.LAT *.lat)") self._dict["file_all"] = _translate( "LateralContribution", "All files (*)") diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index 33d96131..f78ea078 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -194,10 +194,10 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): title = "(dbg) " if self.conf.debug else "" if self._study is not None: - title += f"Pamhyr2 - {self._study.name}" + title += f"Pamhyr2 (Le Coz) - {self._study.name}" self.setWindowTitle(title) else: - title += "Pamhyr2" + title += "Pamhyr2 (Le Coz)" self.setWindowTitle(title) def setup_tab(self): diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py index b2298b9e..431b3ef0 100644 --- a/src/View/Results/Window.py +++ b/src/View/Results/Window.py @@ -738,20 +738,29 @@ class ResultsWindow(PamhyrWindow): first_line.append(f"Profile: {pname}") val_dict = self._export_time(profile_id, y, solver_id) - with open(filename, 'w', newline='') as csvfile: - writer = csv.writer(csvfile, delimiter=',', - quotechar='|', quoting=csv.QUOTE_MINIMAL) - dict_x = self._trad.get_dict("values_x") - header = [] - writer.writerow(first_line) - for text in val_dict.keys(): - header.append(text) - writer.writerow(header) - for row in range(len(val_dict[dict_x[x]])): - line = [] - for var in val_dict.keys(): - line.append(val_dict[var][row]) - writer.writerow(line) + try: + with open(filename, 'w', newline='') as csvfile: + writer = csv.writer(csvfile, delimiter=',', + quotechar='|', quoting=csv.QUOTE_MINIMAL) + dict_x = self._trad.get_dict("values_x") + header = [] + writer.writerow(first_line) + for text in val_dict.keys(): + header.append(text) + writer.writerow(header) + for row in range(len(val_dict[dict_x[x]])): + line = [] + for var in val_dict.keys(): + line.append(val_dict[var][row]) + writer.writerow(line) + self._timer.stop() + except Exception as e: + self.message_box( + window_title=self._trad["Warning"], + text=self._trad["mb_write_error"], + informative_text=self._trad["mb_close_file"] + ) + logger_exception(e) def export_all(self, reach, directory, timestamps): name = reach.name @@ -764,17 +773,25 @@ class ResultsWindow(PamhyrWindow): f"reach_{name}.csv" ) - with open(file_name, 'w', newline='') as csvfile: - writer = csv.writer(csvfile, delimiter=',', - quotechar='|', quoting=csv.QUOTE_MINIMAL) - ts = timestamps[0] - writer.writerow(self._table["raw_data"]._headers) - for row in range(self._table["raw_data"].rowCount()): - line = [] - for column in range(self._table["raw_data"].columnCount()): - index = self._table["raw_data"].index(row, column) - line.append(self._table["raw_data"].data(index)) - writer.writerow(line) + try: + with open(file_name, 'w', newline='') as csvfile: + writer = csv.writer(csvfile, delimiter=',', + quotechar='|', quoting=csv.QUOTE_MINIMAL) + ts = timestamps[0] + writer.writerow(self._table["raw_data"]._headers) + for row in range(self._table["raw_data"].rowCount()): + line = [] + for column in range(self._table["raw_data"].columnCount()): + index = self._table["raw_data"].index(row, column) + line.append(self._table["raw_data"].data(index)) + writer.writerow(line) + except Exception as e: + self.message_box( + window_title=self._trad["Warning"], + text=self._trad["mb_write_errore"], + informative_text=self._trad["mb_close_file"] + ) + logger_exception(e) def export_current(self): self.file_dialog( diff --git a/src/View/Results/translate.py b/src/View/Results/translate.py index 343ddef4..a5e17c0d 100644 --- a/src/View/Results/translate.py +++ b/src/View/Results/translate.py @@ -59,6 +59,13 @@ class ResultsTranslate(MainTranslate): self._dict["ImageCoordinates"] = _translate( "Results", "Image coordinates" ) + self._dict["mb_write_error"] = _translate( + "Results", "An error occured when writing to file" + ) + self._dict["mb_close_file"] = _translate( + "Results", + "If the file is in use, close it and try again" + ) self._sub_dict["table_headers_reach"] = { "name": _translate("Results", "Reach name"), diff --git a/src/lang/fr.ts b/src/lang/fr.ts index 09ee1bee..66bfdfdd 100644 --- a/src/lang/fr.ts +++ b/src/lang/fr.ts @@ -1,6 +1,5 @@ - - + About @@ -736,12 +735,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Dernière modification : - + X axis: Axe X : - + Y axis: Axe Y : @@ -751,32 +750,32 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Débit - + First cross-section Première section en travers - + Last cross-section Dernière section en travers First guideline - Première ligne directrice + Première ligne directrice Guideline used for distance computation - Lignes directrices pour le calcul des distances + Lignes directrices pour le calcul des distances - + Spline Spline - + Linear Linéaire @@ -806,7 +805,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Ligne - + Limits Limites @@ -816,12 +815,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Options - + Space step (m) Pas d'espace (m) - + Type of interpolation: Type d'interpolation : @@ -856,7 +855,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Valeur à l'origine - + Parameters Paramètres @@ -868,7 +867,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie. Second guideline - Seconde ligne directrice + Seconde ligne directrice @@ -908,12 +907,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie. Upstream height (m) - Cote à l'amont (m) + Cote à l'amont (m) Downstream height (m) - Cote à l'aval (m) + Cote à l'aval (m) @@ -956,7 +955,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Débit (m³/s) - + Pollutant: Polluant: @@ -1005,6 +1004,21 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Image coordinates Coordonnées de l'image + + + TextLabel + TextLabel + + + + Upstream elevation (m) + Cote amont + + + + Downstream elevation (m) + Cote aval + Documentation @@ -1297,19 +1311,24 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie. - Copyright © 2022-2025 INRAE + Copyright © 2022-2025 INRAE Copyright © 2022-2025 INRAE + + + Copyright © 2022-2025 INRAE + + Frictions - + Start (m) PK de départ (m) - + End (m) PK de fin (m) @@ -1329,10 +1348,20 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Strickler ($m^{1/3}/s$) - + Coefficient Coefficient + + + Mage initial frictions file (*.RUG *.rug) + Fichier de frottements Mage (*.RUG *.rug) + + + + All files (*) + Tous les fichiers (*) + GeoTIFF @@ -1577,12 +1606,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Évaporation - + Start (m) PK de départ (m) - + End (m) PK de fin (m) @@ -1601,6 +1630,21 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.End rk (m) Pk fin + + + Shapefile (*.LAT *.lat) + Shapefile (*.LAT *.lat) + + + + All files (*) + Tous les fichiers (*) + + + + Mage lateral contributions file (*.LAT *.lat) + Fichiers d'apports latéraux Mage (*.LAT *.lat) + LateralContributionAdisTS @@ -2113,7 +2157,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Suspension - + Add a new boundary condition or lateral source Ajouter une condition aux limites ou un apport latéral @@ -2123,7 +2167,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Supprimer les lignes selectionnées - + Edit boundary condition or lateral source Éditer une condition aux limites ou un apport latéral @@ -2208,7 +2252,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.supprimer - + Edit Strickler coefficients Éditer les coefficients de Strickler @@ -3172,7 +3216,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Lecture des résultats - + Water elevation Cote de l'eau @@ -3182,12 +3226,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Cote maximum de l'eau - + Reach name Nom du bief - + Profile Profil @@ -3242,12 +3286,12 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.Masse min - + Variables names Noms des variables - + Pollutant name Nom des polluants @@ -3257,7 +3301,7 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.enveloppe - + Profile name Nom du profil @@ -3286,6 +3330,26 @@ Cette fonctionnalité nécessite un bief muni d'une géométrie.All files (*) Tous les fichiers (*) + + + An error occured when writing to file + Une erreur s'est produite lors de l'écriture dans le fichier + + + + If the file is open in another application, close it and try again + Si le fichier est ouvert dans une autre application, fermez-la et recommencez + + + + If the file is open in another application, close it and try again + Si le fichier est ouvert dans une autre application, fermez-la et recommencez + + + + If the file is in use, close it and try again + Si le fichier est en cours d'utilisation, fermez-le et recommencez + SedimentLayers