mirror of https://gitlab.com/pamhyr/pamhyr2
Geometry: Handle exception for meshing tool.
parent
b6f0c6f49a
commit
6319ac9310
|
|
@ -179,3 +179,38 @@ class ClipboardFormatError(ExeceptionWithMessageBox):
|
||||||
|
|
||||||
def message(self):
|
def message(self):
|
||||||
return self.msg
|
return self.msg
|
||||||
|
|
||||||
|
|
||||||
|
class ExternFileMissingError(ExeceptionWithMessageBox):
|
||||||
|
def __init__(self, module="mage", filename="libbief", path="??/libbief.so",
|
||||||
|
src_except=None):
|
||||||
|
super(ExternFileMissingError, self).__init__(
|
||||||
|
title=_translate(
|
||||||
|
"Exception", "External file dependence is missing"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.msg = _translate(
|
||||||
|
"Exception",
|
||||||
|
"'@file' is missing for module @module:\n'@path'"
|
||||||
|
)
|
||||||
|
self.msg = self.msg.replace("@file", filename)
|
||||||
|
self.msg = self.msg.replace("@module", module)
|
||||||
|
self.msg = self.msg.replace("@path", path)
|
||||||
|
|
||||||
|
if src_except is not None:
|
||||||
|
self.msg = self.msg + "\n\n" + f"Exception: {src_except}"
|
||||||
|
|
||||||
|
self.alert()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.msg
|
||||||
|
|
||||||
|
def header(self):
|
||||||
|
return _translate("Exception", "External file dependence is missing")
|
||||||
|
|
||||||
|
def short_message(self):
|
||||||
|
return _translate("Exception", "External file dependence is missing")
|
||||||
|
|
||||||
|
def message(self):
|
||||||
|
return self.msg
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import pathlib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from tools import timer, trace
|
from tools import timer, trace, logger_exception
|
||||||
|
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtGui import (
|
from PyQt5.QtGui import (
|
||||||
|
|
@ -40,6 +40,8 @@ from PyQt5.QtWidgets import (
|
||||||
QLabel, QAbstractItemView,
|
QLabel, QAbstractItemView,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from Model.Except import ExternFileMissingError
|
||||||
|
|
||||||
from View.Tools.PamhyrWindow import PamhyrWindow
|
from View.Tools.PamhyrWindow import PamhyrWindow
|
||||||
from View.Tools.Plot.PamhyrToolbar import PamhyrPlotToolbar
|
from View.Tools.Plot.PamhyrToolbar import PamhyrPlotToolbar
|
||||||
from View.Tools.Plot.PamhyrCanvas import MplCanvas
|
from View.Tools.Plot.PamhyrCanvas import MplCanvas
|
||||||
|
|
@ -255,8 +257,23 @@ class GeometryWindow(PamhyrWindow):
|
||||||
self.tableView.model().blockSignals(False)
|
self.tableView.model().blockSignals(False)
|
||||||
|
|
||||||
def edit_meshing(self):
|
def edit_meshing(self):
|
||||||
|
try:
|
||||||
|
self._edit_meshing()
|
||||||
|
except Exception:
|
||||||
|
return
|
||||||
|
|
||||||
|
def _edit_meshing(self):
|
||||||
|
try:
|
||||||
mesher = MeshingWithMage()
|
mesher = MeshingWithMage()
|
||||||
self._table.meshing(mesher, -1)
|
self._table.meshing(mesher, -1)
|
||||||
|
except Exception as e:
|
||||||
|
logger_exception(e)
|
||||||
|
raise ExternFileMissingError(
|
||||||
|
module="mage",
|
||||||
|
filename="libbief",
|
||||||
|
path=MeshingWithMage._lib_path(),
|
||||||
|
src_except=e
|
||||||
|
)
|
||||||
|
|
||||||
pyqtSlot(bool)
|
pyqtSlot(bool)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -69,10 +69,10 @@ def logger_color_reset():
|
||||||
def logger_exception(exception):
|
def logger_exception(exception):
|
||||||
logger.error(
|
logger.error(
|
||||||
f"[{logger_color_red()}ERROR{logger_color_reset()}] " +
|
f"[{logger_color_red()}ERROR{logger_color_reset()}] " +
|
||||||
f"{logger_color_red()}{e}{logger_color_reset()}"
|
f"{logger_color_red()}{exception}{logger_color_reset()}"
|
||||||
)
|
)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"{logger_color_blue()}{e}{logger_color_reset()}\n" +
|
f"{logger_color_blue()}{exception}{logger_color_reset()}\n" +
|
||||||
f"{logger_color_red()}{traceback.format_exc()}{logger_color_reset()}"
|
f"{logger_color_red()}{traceback.format_exc()}{logger_color_reset()}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue