Skip to content

Commit

Permalink
removing oMessenger and replace with aedt_logger from remaining metho…
Browse files Browse the repository at this point in the history
…ds (#858)

* removing oMessenger

* removing oMessenger

* Improving way to check if Edb changed

* Improving way to check if Edb changed

Co-authored-by: maxcapodi78 <Shark78>
  • Loading branch information
maxcapodi78 authored Feb 15, 2022
1 parent e0b4f64 commit 8b01103
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 31 deletions.
8 changes: 4 additions & 4 deletions _unittest/test_14_AedtLogger.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def test_02_output_file_with_app_filter(self):
if not os.path.exists(logging_dir):
os.makedirs(logging_dir)
path = os.path.join(logging_dir, "test02.txt")
logger = AedtLogger(self.aedtapp._messenger, filename=path)
logger = AedtLogger(filename=path)
logger.info("Info for Global")
logger.debug("Debug for Global")
logger.warning("Warning for Global")
Expand Down Expand Up @@ -167,7 +167,7 @@ def test_02_output_file_with_app_filter(self):
def test_03_stdout_with_app_filter(self):
capture = CaptureStdOut()
with capture:
logger = AedtLogger(self.aedtapp._messenger, to_stdout=True)
logger = AedtLogger(to_stdout=True)
logger.info("Info for Global")
logger.warning("Warning for Global")
logger.error("Error for Global")
Expand All @@ -186,7 +186,7 @@ def test_04_disable_output_file_handler(self):
path = os.path.join(logging_dir, "test04.txt")
if os.path.exists(path):
os.remove(path)
logger = AedtLogger(self.aedtapp._messenger, filename=path)
logger = AedtLogger(filename=path)
logger.info("Info for Global before disabling the log file handler.")
project_logger = logger.add_logger("Project")
project_logger.info("Info for Project before disabling the log file handler.")
Expand Down Expand Up @@ -255,7 +255,7 @@ def test_05_disable_stdout(self):
stream.write.side_effect = fp.write
sys.stdout = stream

logger = AedtLogger(self.aedtapp._messenger, to_stdout=True)
logger = AedtLogger(to_stdout=True)
logger.info("Info for Global")
logger.disable_stdout_log()
logger.info("Info after disabling the stdout handler.")
Expand Down
10 changes: 5 additions & 5 deletions doc/source/Resources/Code_Guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -739,17 +739,17 @@ write both to the internal AEDT message windows and the log file:

.. code:: python
self.messenger.add_error_message("This is an error message.")
self.messenger.add_warning_message("This is a warning message.")
self.messenger.add_info_message("This is an info message.")
self.logger.error("This is an error message.")
self.logger.warning("This is a warning message.")
self.logger.info("This is an info message.")
These examples demonstrate how to to write messages only to the log file:

.. code:: python
self.logger.error("This is an error message.")
self.messenger.warning("This is a warning message.")
self.messenger.info("This is an info message.")
self.logger.warning("This is a warning message.")
self.logger.info("This is an info message.")
Exception Handling
Expand Down
5 changes: 3 additions & 2 deletions pyaedt/aedt_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import sys

from pyaedt import log_handler
from pyaedt.application.MessageManager import AEDTMessageManager

ENABLE_LOGGER = True
# if LOGGER_FILE is defined, it will be taken as output log file
Expand Down Expand Up @@ -64,12 +65,12 @@ class AedtLogger(object):
Write log message into the standard output. The default is ``False``.
"""

def __init__(self, messenger, level=logging.DEBUG, filename=None, to_stdout=False):
def __init__(self, level=logging.DEBUG, filename=None, to_stdout=False):
main = sys.modules["__main__"]

self.level = level
self.filename = filename
self._messenger = messenger
self._messenger = AEDTMessageManager()
self._global = logging.getLogger("Global")
self._file_handler = None
self._std_out_handler = None
Expand Down
20 changes: 8 additions & 12 deletions pyaedt/desktop.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
else:
import subprocess

from pyaedt.application.MessageManager import AEDTMessageManager
from pyaedt.misc import list_installed_ansysem
from pyaedt import aedt_exception_handler
from pyaedt.generic.general_methods import is_ironpython, _pythonver, inside_desktop
Expand Down Expand Up @@ -67,7 +66,7 @@
raise Exception("Error. No win32com.client or Pythonnet modules found. Please install them.")


def exception_to_desktop(ex_value, tb_data):
def exception_to_desktop(ex_value, tb_data): # pragma: no cover
"""Writes the trace stack to the desktop when a Python error occurs.
The message is added to the AEDT global Message Manager and to the log file (if present).
Expand All @@ -80,13 +79,13 @@ def exception_to_desktop(ex_value, tb_data):
Traceback information.
"""
if "oMessenger" in dir(sys.modules["__main__"]):
messenger = sys.modules["__main__"].oMessenger
if "aedt_logger" in dir(sys.modules["__main__"]):
messenger = sys.modules["__main__"].aedt_logger
tb_trace = traceback.format_tb(tb_data)
tblist = tb_trace[0].split("\n")
messenger.add_error_message(str(ex_value), "Global")
messenger.error(str(ex_value), "Global")
for el in tblist:
messenger.add_error_message(el, "Global")
messenger.error(el, "Global")
else:
tb_trace = traceback.format_tb(tb_data)
tblist = tb_trace[0].split("\n")
Expand All @@ -101,8 +100,6 @@ def _delete_objects():
del module.COMUtil
if "aedt_logger" in dir(module):
del module.aedt_logger
if "oMessenger" in dir(module):
del module.oMessenger
if "oDesktop" in dir(module):
del module.oDesktop
if "pyaedt_initialized" in dir(module):
Expand Down Expand Up @@ -196,7 +193,7 @@ def force_close_desktop():
del Module.oDesktop
successfully_closed = True
except:
Module.oMessenger.add_error_message("Something went wrong in Closing AEDT.")
Module.aedt_logger.error("Something went wrong in Closing AEDT.")
successfully_closed = False
finally:
log = logging.getLogger(__name__)
Expand Down Expand Up @@ -388,8 +385,7 @@ def current_version_student(self):
def _init_desktop(self):
self._main.AEDTVersion = self._main.oDesktop.GetVersion()[0:6]
self._main.oDesktop.RestoreWindow()
self._main.oMessenger = AEDTMessageManager()
self._logger = aedt_logger.AedtLogger(self._main.oMessenger, filename=self.logfile, level=logging.DEBUG)
self._logger = aedt_logger.AedtLogger(filename=self.logfile, level=logging.DEBUG)
self._logger.info("Logger Started on %s", self.logfile)
self._main.aedt_logger = self._logger
self._main.sDesktopinstallDirectory = self._main.oDesktop.GetExeDir()
Expand Down Expand Up @@ -548,7 +544,7 @@ def _set_logger_file(self):
@property
def messenger(self):
"""Messenger manager for AEDT Log."""
return self._main.oMessenger
return self._main.aedt_logger

@property
def logger(self):
Expand Down
7 changes: 2 additions & 5 deletions pyaedt/edb.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
except ImportError:
if os.name != "posix":
warnings.warn("Pythonnet is needed to run pyaedt")
from pyaedt.application.MessageManager import AEDTMessageManager
from pyaedt.edb_core import Components, EdbNets, EdbPadstacks, EdbLayout, EdbHfss, EdbSiwave, EdbStackup
from pyaedt.edb_core.EDB_Data import EdbBuilder
from pyaedt.generic.general_methods import (
Expand Down Expand Up @@ -112,8 +111,7 @@ def __init__(
if edb_initialized:
self.oproject = oproject
self._main = sys.modules["__main__"]
if isaedtowned and "oMessenger" in dir(sys.modules["__main__"]):
_messenger = self._main.oMessenger
if isaedtowned and "aedt_logger" in dir(sys.modules["__main__"]):
self._logger = self._main.aedt_logger
else:
if not edbpath or not os.path.exists(os.path.dirname(edbpath)):
Expand All @@ -123,8 +121,7 @@ def __init__(
logfile = os.path.join(
project_dir, "pyaedt{}.log".format(datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
)
self._main.oMessenger = AEDTMessageManager()
self._logger = AedtLogger(self._main.oMessenger, filename=logfile, level=logging.DEBUG)
self._logger = AedtLogger(filename=logfile, level=logging.DEBUG)
self._logger.info("Logger Started on %s", logfile)
self._main.aedt_logger = self._logger

Expand Down
4 changes: 1 addition & 3 deletions pyaedt/siwave.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,12 @@ def current_version(self):
"""Current version of AEDT."""
return self.version_keys[0]

def __init__(self, specified_version=None):
def __init__(self, specified_version=None): # pragma: no cover
self._main = sys.modules["__main__"]
print("Launching Siwave Init")
if "oSiwave" in dir(self._main) and self._main.oSiwave is not None:
self._main.AEDTVersion = self._main.oSiwave.GetVersion()[0:6]
self._main.oSiwave.RestoreWindow()
# self._main.oMessenger = AEDTMessageManager()
specified_version = self.current_version
assert specified_version in self.version_keys, "Specified version {} not known.".format(specified_version)
version_key = specified_version
Expand Down Expand Up @@ -115,7 +114,6 @@ def __init__(self, specified_version=None):
self._main.AEDTVersion = version_key
self.oSiwave = self._main.oSiwave
self._main.oSiwave.RestoreWindow()
# self._main.oMessenger = AEDTMessageManager()
self._main.siwave_initialized = True
self._oproject = self.oSiwave.GetActiveProject()
pass
Expand Down

0 comments on commit 8b01103

Please sign in to comment.