diff --git a/force_bdss/api.py b/force_bdss/api.py index 1713d4f58dbf7e0fd2ef0646d0f9f456cbf52e02..fb6af34ef84144b1f5a0fae20af69206543d6b96 100644 --- a/force_bdss/api.py +++ b/force_bdss/api.py @@ -21,6 +21,8 @@ from .mco.i_mco_factory import IMCOFactory # noqa from .mco.parameters.base_mco_parameter_factory import BaseMCOParameterFactory # noqa from .mco.parameters.base_mco_parameter import BaseMCOParameter # noqa +from .mco.events import * # noqa + from .notification_listeners.i_notification_listener_factory import INotificationListenerFactory # noqa from .notification_listeners.base_notification_listener import BaseNotificationListener # noqa from .notification_listeners.base_notification_listener_factory import BaseNotificationListenerFactory # noqa diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py index dbd0ed794b4558dc7306d0a88aa3825859646cb9..77d96aee1e52aa44690fd1156f9ca6768e69c544 100644 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py +++ b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py @@ -1,6 +1,9 @@ -from force_bdss.api import BaseNotificationListener -from force_bdss.mco.events import ( - MCOStartEvent, MCOFinishEvent, MCOProgressEvent) +from force_bdss.api import ( + BaseNotificationListener, + MCOStartEvent, + MCOFinishEvent, + MCOProgressEvent +) class DummyNotificationListener(BaseNotificationListener): diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py index 74d6b3876948a9dae8ac2bb381823c318463d73d..e8e7c37e202def30541b77353921d087fc97b6d1 100644 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py +++ b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py @@ -1,9 +1,9 @@ from traits.api import String -from force_bdss.ids import factory_id -from force_bdss.notification_listeners.base_notification_listener_factory \ - import \ - BaseNotificationListenerFactory +from force_bdss.api import ( + factory_id, + BaseNotificationListenerFactory) + from .dummy_notification_listener import DummyNotificationListener from .dummy_notification_listener_model import DummyNotificationListenerModel diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py index 78443c497d17c7965d827b87433c96c2c35ec3eb..0e2c5babca7c8b79501fdf064e728a77a5eaebc5 100644 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py +++ b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py @@ -1,6 +1,4 @@ -from force_bdss.notification_listeners.base_notification_listener_model \ - import \ - BaseNotificationListenerModel +from force_bdss.api import BaseNotificationListenerModel class DummyNotificationListenerModel(BaseNotificationListenerModel): diff --git a/force_bdss/core_plugins/dummy/dummy_plugin.py b/force_bdss/core_plugins/dummy/dummy_plugin.py index 15bc6ef9808338d1b8d9d8c465a4ab2c92207f0e..63a229b3ac9199b6c71d89b6eabaa799b857a0d0 100644 --- a/force_bdss/core_plugins/dummy/dummy_plugin.py +++ b/force_bdss/core_plugins/dummy/dummy_plugin.py @@ -1,10 +1,8 @@ from force_bdss.api import BaseExtensionPlugin, plugin_id -from force_bdss.core_plugins.dummy.dummy_notification_listener\ - .dummy_notification_listener_factory import \ +from .dummy_notification_listener.dummy_notification_listener_factory import ( DummyNotificationListenerFactory -from force_bdss.core_plugins.dummy.ui_notification.ui_notification_factory \ - import \ - UINotificationFactory +) +from .ui_notification.ui_notification_factory import UINotificationFactory from .csv_extractor.csv_extractor_factory import CSVExtractorFactory from .kpi_adder.kpi_adder_factory import KPIAdderFactory from .dummy_dakota.dakota_factory import DummyDakotaFactory diff --git a/force_bdss/core_plugins/dummy/ui_notification/ui_notification.py b/force_bdss/core_plugins/dummy/ui_notification/ui_notification.py index c8fe9353fd4f1fe8b5a84037f3357d70a9968512..fa80783d502fc35a365b118bfc53547d91eb8581 100644 --- a/force_bdss/core_plugins/dummy/ui_notification/ui_notification.py +++ b/force_bdss/core_plugins/dummy/ui_notification/ui_notification.py @@ -2,14 +2,20 @@ import errno import logging from traits.api import Any, List -from force_bdss.api import BaseNotificationListener -import zmq - -from force_bdss.mco.events import MCOStartEvent, MCOFinishEvent, \ +from force_bdss.api import ( + BaseNotificationListener, + MCOStartEvent, + MCOFinishEvent, MCOProgressEvent +) + +import zmq class UINotification(BaseNotificationListener): + """ + Notification engine for the UI. Uses zeromq for the traffic handling. + """ #: The ZMQ context. _context = Any() @@ -49,6 +55,15 @@ class UINotification(BaseNotificationListener): self._rep_socket = self._context.socket(zmq.REP) self._rep_socket.bind("tcp://*:12346") + def finalize(self, model): + self._pub_socket.close() + self._rep_socket.close() + self._context.term() + + self._pub_socket = None + self._rep_socket = None + self._context = None + def _format_event(self, event): if isinstance(event, MCOStartEvent): data = "MCO_START" @@ -63,8 +78,3 @@ class UINotification(BaseNotificationListener): return ("EVENT\n{}".format(data)).encode("utf-8") - def finalize(self, model): - self._context.destroy() - self._pub_socket = None - self._rep_socket = None - self._context = None diff --git a/force_bdss/core_plugins/dummy/ui_notification/ui_notification_factory.py b/force_bdss/core_plugins/dummy/ui_notification/ui_notification_factory.py index 2af65f8f32cc4e821d8b182ada46d6880bc496be..39cee9b53bd08a828ef1b92d978954c6d6b56fc0 100644 --- a/force_bdss/core_plugins/dummy/ui_notification/ui_notification_factory.py +++ b/force_bdss/core_plugins/dummy/ui_notification/ui_notification_factory.py @@ -1,9 +1,7 @@ from traits.api import String -from force_bdss.ids import factory_id -from force_bdss.notification_listeners.base_notification_listener_factory \ - import \ - BaseNotificationListenerFactory +from force_bdss.api import factory_id, BaseNotificationListenerFactory + from .ui_notification import UINotification from .ui_notification_model import UINotificationModel diff --git a/force_bdss/core_plugins/dummy/ui_notification/ui_notification_model.py b/force_bdss/core_plugins/dummy/ui_notification/ui_notification_model.py index c20ad099f71214632126eabc702810d99cf78229..3f5cc1660bbced9afb96f81fa5877cda11770523 100644 --- a/force_bdss/core_plugins/dummy/ui_notification/ui_notification_model.py +++ b/force_bdss/core_plugins/dummy/ui_notification/ui_notification_model.py @@ -1,6 +1,4 @@ -from force_bdss.notification_listeners.base_notification_listener_model \ - import \ - BaseNotificationListenerModel +from force_bdss.api import BaseNotificationListenerModel class UINotificationModel(BaseNotificationListenerModel):