MainWindow.py 33 KB
Newer Older
            os.path.dirname(self._study.filename),
            "_PAMHYR_",
            self._study.name.replace(" ", "_"),
            solver.name.replace(" ", "_"),
        )

        return workdir

            return

        self.open_solver_results(self._last_solver, self._last_results)

    def open_results_from_file(self):
        if self._study is None:
            return

        if self._study.filename == "":
            return

        dialog = QFileDialog(self)
        dialog.setFileMode(QFileDialog.FileMode.ExistingFile)
        dialog.setDefaultSuffix(".BIN")
        # dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden)
        dialog.setNameFilters(['Mage (*.BIN)'])

        if self._last_solver is None:
            dialog.setDirectory(
                os.path.dirname(self._study.filename)
            )
        else:
            dialog.setDirectory(
                self._solver_workdir(self._last_solver)
            )

        if dialog.exec_():
            file_name = dialog.selectedFiles()
            logger.info(f"Select results: {file_name}")
            self.open_solver_results(
                self._last_solver,
                results=file_name[0]
            )

    #################
    # DOCUMENTATION #
    #################
    def _doc_path_file(self, filename):
        if ".py" in sys.argv[0]:
            return os.path.abspath(
                os.path.join(
                    os.path.dirname(__file__),
                    "..", "..", "doc", filename
                )
            )

        return os.path.abspath(
            os.path.join(
                os.path.dirname(__file__),
                "..", "..", "..", "doc", filename
            )
        )

    def open_doc(self, filename):
        if "https://" in filename:
            url = QUrl(filename)
            QDesktopServices.openUrl(url)
            return

        if _doc == "external":
            url = QUrl(f"file://{self._doc_path_file(filename)}")
            QDesktopServices.openUrl(url)
        else:
            if ".odt" in filename:
                url = QUrl(f"file://{DocWindow._path_file(filename)}")
                QDesktopServices.openUrl(url)
            else:
                doc = DocWindow(
        self.open_doc(
            "https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home"
        )
    def open_doc_dev(self, ext="pdf"):
        self.open_doc(f"Pamhyr2-dev.{ext}")
    def open_doc_mage(self):
        self.open_doc("mage8.pdf")
    #########
    # DEBUG #
    #########

    def open_debug(self):
        repl = ReplWindow(
            study=self._study,
            config=self.conf,
            parent=self
    def open_sqlite(self):
            logger.debug("No study open for sql debuging...")
            return

        _ = subprocess.Popen(
            f"sqlitebrowser {file}",
            shell=True
        )

    # TODO: Delete me !
    ###############
    # DUMMY STUFF #
    ###############

    def open_dummy(self, title="Dummy"):
        self.dummy = DummyWindow(
            title=title if type(title) is str else "Dummy",
            parent=self
        )
        self.dummy.show()