Merge branch 'master' of gitlab-ssh.irstea.fr:theophile.terraz/pamhyr

mesh
Theophile Terraz 2023-12-20 09:37:34 +01:00
commit ecc75c45eb
8 changed files with 47 additions and 21 deletions

View File

@ -33,7 +33,7 @@ dl-mage-linux:
rules:
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
script:
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_linux.tgz
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_linux.tgz
- mkdir -p mage-linux
- cd mage-linux
- tar xvf ../mage.tgz
@ -50,7 +50,7 @@ dl-mage-windows:
rules:
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
script:
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_windows.tgz
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_windows.tgz
- mkdir -p mage-windows
- cd mage-windows
- tar xvf ../mage.tgz

View File

@ -132,7 +132,7 @@ class CommandLineSolver(AbstractSolver):
return os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"..", ".."
"..", "..", ".."
)
)

View File

@ -435,7 +435,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
"", "Pamhyr(*.pamhyr)"
)
if file_name[-4:] == ".pamhyr":
if file_name.rsplit(".", 1)[-1] == ".pamhyr":
self._study.filename = file_name
else:
self._study.filename = file_name + ".pamhyr"

View File

@ -16,9 +16,10 @@
# -*- coding: utf-8 -*-
import os
import logging
from datetime import datetime
from datetime import datetime
from tools import trace, timer
from View.Tools.PamhyrWindow import PamhyrWindow
@ -69,6 +70,14 @@ class ResultsWindow(PamhyrWindow):
_pamhyr_ui = "Results"
_pamhyr_name = "Results"
def _path_file(self, filename):
return os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"..", "..", filename
)
)
def __init__(self, study=None, config=None,
solver=None, results=None,
parent=None):
@ -124,13 +133,15 @@ class ResultsWindow(PamhyrWindow):
self._slider_time.setMaximum(len(self._timestamps) - 1)
self._slider_time.setValue(len(self._timestamps) - 1)
file_path = os.path.abspath(os.path.dirname(__file__))
self._icon_start = QIcon()
self._icon_start.addPixmap(
QPixmap('./src/View/ui/ressources/media-playback-start.png')
QPixmap(f'{file_path}/../ui/ressources/media-playback-start.png')
)
self._icon_pause = QIcon()
self._icon_pause.addPixmap(
QPixmap('./src/View/ui/ressources/media-playback-pause.png')
QPixmap(f'{file_path}/../ui/ressources/media-playback-pause.png')
)
self._button_play = self.find(QPushButton, f"playButton")
self._button_play.setIcon(self._icon_start)
@ -254,6 +265,10 @@ class ResultsWindow(PamhyrWindow):
)
self.plot_sed_profile.draw()
def closeEvent(self, event):
self._timer.stop()
super(ResultsWindow, self).closeEvent(event)
def _compute_status_label(self):
# Timestamp
ts = self._timestamps[self._slider_time.value()]

View File

@ -21,7 +21,7 @@ import logging
import tempfile
from queue import Queue
from tools import trace, timer
from tools import trace, timer, logger_exception
from View.Tools.PamhyrWindow import PamhyrDialog, PamhyrWindow
@ -195,7 +195,7 @@ class SolverLogWindow(PamhyrWindow):
os.makedirs(self._workdir, exist_ok=True)
def setup_process(self):
self._alarm.start(500)
self._alarm.start(100)
self._output = Queue()
self._process = self.new_process(self._parent)
@ -210,6 +210,10 @@ class SolverLogWindow(PamhyrWindow):
self._solver.export(self._study, self._workdir, qlog=self._output)
self.update()
def closeEvent(self, event):
self._alarm.stop()
super(SolverLogWindow, self).closeEvent(event)
#######
# LOG #
#######
@ -259,16 +263,21 @@ class SolverLogWindow(PamhyrWindow):
if self._solver.log_file() != "":
self.find(QAction, "action_log_file").setEnabled(True)
self._update_logs_all()
self._update_get_results()
self._update_logs_all()
def _update_get_results(self):
if self._results is None:
self._results = self._solver.results(
self._study, self._workdir, qlog=self._output
)
self._parent.set_results(self._solver, self._results)
try:
self._results = self._solver.results(
self._study, self._workdir, qlog=self._output
)
self._parent.set_results(self._solver, self._results)
except Exception as e:
logger.error(f"Failed to open results")
logger_exception(e)
def _update_logs_all(self):
while self._output.qsize() != 0:

View File

@ -98,7 +98,7 @@ class PamhyrPlotToolbar(NavigationToolbar2QT):
icon_zoom = QtGui.QIcon()
icon_zoom.addPixmap(QtGui.QPixmap(
os.path.abspath(f"{file_path}/../ui/ressources/zoom.png")
os.path.abspath(f"{file_path}/../../ui/ressources/zoom.png")
))
icons.append(("zoom", icon_zoom))
@ -122,7 +122,7 @@ class PamhyrPlotToolbar(NavigationToolbar2QT):
icon_btn_isometric_view.addPixmap(
QtGui.QPixmap(
os.path.abspath(
f"{file_path}/../ui/ressources/zoom_fit_11.png"
f"{file_path}/../../ui/ressources/zoom_fit_11.png"
)
)
)
@ -131,7 +131,7 @@ class PamhyrPlotToolbar(NavigationToolbar2QT):
icon_btn_global_view.addPixmap(
QtGui.QPixmap(
os.path.abspath(
f"{file_path}/../ui/ressources/zoom_fit.png"
f"{file_path}/../../ui/ressources/zoom_fit.png"
)
)
)

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>874</width>
<height>745</height>
<width>1280</width>
<height>720</height>
</rect>
</property>
<property name="windowTitle">
@ -34,7 +34,7 @@
<enum>Qt::Vertical</enum>
</property>
<widget class="QTableView" name="tableView_reach"/>
<widget class="QWidget" name="">
<widget class="QWidget" name="layoutWidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QTableView" name="tableView_profile"/>
@ -55,7 +55,7 @@
</layout>
</widget>
</widget>
<widget class="QWidget" name="">
<widget class="QWidget" name="layoutWidget">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QTabWidget" name="tabWidget">
@ -228,7 +228,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>874</width>
<width>1280</width>
<height>22</height>
</rect>
</property>

View File

@ -39,6 +39,7 @@ from Scripts.P3DST import Script3DST
from Scripts.Hello import ScriptHello
from Scripts.ListSolver import ScriptListSolver
from Scripts.Run import ScriptExport, ScriptRun
from Scripts.MageMesh import MageMesh
from init import legal_info, debug_info, setup_lang
@ -50,6 +51,7 @@ scripts = {
"export": ScriptExport,
"run": ScriptRun,
"3DST": Script3DST,
"mesh": MageMesh,
}