diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org index 91a48e2c1909f60f64dc09814219e21b0e93e832..58a14a52db711b2af9b01968722a743a70818fe3 100644 --- a/doc/dev/documentation.org +++ b/doc/dev/documentation.org @@ -456,6 +456,15 @@ of Bar (Listing [[sql-bar]] and [[sql-foo]]). bar._sql_save(execute, data=data) #+end_src +Let see the results database scheme for Pamhyr2 at version v0.0.7 in +Figure [[sql_schema]]. + +#+NAME: sql_schema +#+ATTR_LATEX: :width 16cm +#+CAPTION: SQLite database scheme at Pamhyr2 version v0.0.7 (generate with [[https://gitlab.com/Screwtapello/sqlite-schema-diagram]]) +[[./images/schema_v0.0.7.png]] + + [fn:sqlite] The SQLite web site: https://www.sqlite.org/index.html (last access 2023-09-20) diff --git a/doc/dev/images/schema_v0.0.7.png b/doc/dev/images/schema_v0.0.7.png new file mode 100644 index 0000000000000000000000000000000000000000..a09da69f67cde4569c3bcf10e0db4313594c61ef Binary files /dev/null and b/doc/dev/images/schema_v0.0.7.png differ diff --git a/src/Model/Geometry/PointXYZ.py b/src/Model/Geometry/PointXYZ.py index 2e806687cbc5bb9f5bfeac1031e06cb02c93ac04..0db9ff3de26f7f5e7e83a662504257ecb4bd023c 100644 --- a/src/Model/Geometry/PointXYZ.py +++ b/src/Model/Geometry/PointXYZ.py @@ -47,7 +47,7 @@ class PointXYZ(Point, SQLSubModel): z INTEGER NOT NULL, profile INTEGER NOT NULL, sl INTEGER, - FOREIGN KEY(profile) REFERENCES profileXYZ(id), + FOREIGN KEY(profile) REFERENCES geometry_profileXYZ(id), FOREIGN KEY(sl) REFERENCES sedimentary_layer(id) ) """) diff --git a/src/Solver/CommandLine.py b/src/Solver/CommandLine.py index 4afcbc9a24a91c49d640e33bdb4a06a2812b1100..5f706d1a2772b25e6f10f82bd512bb7c574aaf78 100644 --- a/src/Solver/CommandLine.py +++ b/src/Solver/CommandLine.py @@ -167,8 +167,10 @@ class CommandLineSolver(AbstractSolver): repertory, "pamhyr-study-description.txt" ) - with open(path, "w+") as f: - txt = study.description + with open(path, "w+", encoding='utf-8') as f: + txt = study.description\ + .encode()\ + .decode('utf-8', 'replace') f.write(txt) ####### diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py index 43a9a0364d25f3570d07b37197cfe7ff76e48fcb..ea1c763532aeb0aa87aeda12fbb36c3d3fc604fe 100644 --- a/src/Solver/Mage.py +++ b/src/Solver/Mage.py @@ -282,6 +282,9 @@ class Mage(CommandLineSolver): if bound.node is None: continue + if not study.river.is_enable_node(bound.node): + continue + if bound.bctype == "ZD": AVA.append(bound) elif bound.bctype == "TD" or bound.bctype == "PC": @@ -357,13 +360,7 @@ class Mage(CommandLineSolver): with mage_file_open(os.path.join(repertory, f"{name}.RUG"), "w+") as f: files.append(f"{name}.RUG") - edges = study.river.edges() - edges = list( - filter( - lambda e: e.is_enable(), - edges - ) - ) + edges = study.river.enable_edges() id = 1 for edge in edges: diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py index 45aaa0094ced68d59565ed910cbe434e3747721b..155b971e5c4ba7081aadf9ae2820c5777b6dec01 100644 --- a/src/View/Results/Window.py +++ b/src/View/Results/Window.py @@ -160,7 +160,10 @@ class ResultsWindow(PamhyrWindow): self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas.setObjectName("canvas") self.toolbar = PamhyrPlotToolbar( - self.canvas, self + self.canvas, self, items=[ + "home", "move", "zoom", "save", + "iso", "back/forward" + ] ) self.plot_layout = self.find(QVBoxLayout, "verticalLayout") self.plot_layout.addWidget(self.toolbar) @@ -180,7 +183,10 @@ class ResultsWindow(PamhyrWindow): self.canvas_2 = MplCanvas(width=5, height=4, dpi=100) self.canvas_2.setObjectName("canvas_2") self.toolbar_2 = PamhyrPlotToolbar( - self.canvas_2, self + self.canvas_2, self, items=[ + "home", "move", "zoom", "save", + "iso", "back/forward" + ] ) self.plot_layout_2 = self.find(QVBoxLayout, "verticalLayout_2") self.plot_layout_2.addWidget(self.toolbar_2) @@ -199,7 +205,10 @@ class ResultsWindow(PamhyrWindow): self.canvas_3 = MplCanvas(width=5, height=4, dpi=100) self.canvas_3.setObjectName("canvas_3") self.toolbar_3 = PamhyrPlotToolbar( - self.canvas_3, self + self.canvas_3, self, items=[ + "home", "move", "zoom", "save", + "iso", "back/forward" + ] ) self.plot_layout_3 = self.find(QVBoxLayout, "verticalLayout_3") self.plot_layout_3.addWidget(self.toolbar_3) @@ -218,7 +227,10 @@ class ResultsWindow(PamhyrWindow): self.canvas_4 = MplCanvas(width=5, height=4, dpi=100) self.canvas_4.setObjectName("canvas_4") self.toolbar_4 = PamhyrPlotToolbar( - self.canvas_4, self + self.canvas_4, self, items=[ + "home", "move", "zoom", "save", + "iso", "back/forward" + ] ) self.plot_layout_4 = self.find( QVBoxLayout, "verticalLayout_hydrograph") diff --git a/tools/license.el b/tools/license.el index afb49975302f0a33d67f216795ea1fe63fc3de24..1d08c959f6cdd909006995e26f92155a4d045ee7 100644 --- a/tools/license.el +++ b/tools/license.el @@ -109,3 +109,59 @@ (mapcar 'pamhyr--insert-license (mapcar (lambda (file) (concat root "/" file)) files-without-copyright)))) + +(defvar pamhyr-mail-template "Bonjour, + +La version @version de Pamhyr2 est disponible. + +<NEWS> + +---Change-logs-------------------@version--- +@description +------------------------------------------ + +---Liens-utiles--------------------------- + Télécharger cette version : + https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/releases/@version + + La documentation (en anglais) : + https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home + + Rapporter un problème : + https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/issues + ou directement par mail à : + <pierre-antoine.rouby@inrae.fr> +------------------------------------------ + +<FUTURE_WORK> + +---/!\--Attention------------------------- + Pour les utilisateurs Windows : Certains antivirus peuvent détecter Pamhyr2 comme un virus, c'est un faux positif, le problème est connu et vient de l'exécutable généré par PyInstaller. + Nous n'avons pas encore de solution pour régler ce problème. + Si c'est votre cas, il faudra ajouter une exception dans votre antivirus si vous voulez utiliser Pamhyr2. + Sinon, il est aussi possible de passer par WSL et utiliser la version Linux sous Windows. + + Rapport d'antivirus : <LINK_VIRUSTOTAL> +------------------------------------------ + +Bon weekend, +") + +(require 'web) +(require 'json) + +(defun pamhyr-release-mail (release) + (interactive "sRelease name: ") + (web-http-get + (lambda (httpc header my-data) + (let* ((data (json-read-from-string my-data)) + (release (cdr (assoc 'tag_name data))) + (description (cdr (assoc 'description data)))) + (let ((buffer (generate-new-buffer (format "* mail-%s *" release)))) + (with-current-buffer buffer + (insert + (string-replace "@description" description + (string-replace "@version" release + pamhyr-mail-template))) + (set-buffer buffer))))) + :url (concat "https://gitlab.irstea.fr/api/v4/projects/2779/releases/" release)))