Skip to content
Snippets Groups Projects
Commit 90cf8a88 authored by Stefano Borini's avatar Stefano Borini
Browse files

Introduced basic zeromq pub

parent d8f8fc25
No related branches found
No related tags found
1 merge request!79Deliver notification info
......@@ -2,6 +2,9 @@ from force_bdss.api import BaseExtensionPlugin, plugin_id
from force_bdss.core_plugins.dummy.dummy_notification_listener\
.dummy_notification_listener_factory import \
DummyNotificationListenerFactory
from force_bdss.core_plugins.dummy.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
......@@ -26,4 +29,6 @@ class DummyPlugin(BaseExtensionPlugin):
KPIAdderFactory(self)]
def _notification_listener_factories_default(self):
return [DummyNotificationListenerFactory(self)]
return [DummyNotificationListenerFactory(self),
UINotificationFactory(self)
]
from traits.api import Any
from force_bdss.api import BaseNotificationListener
import zmq
class UINotification(BaseNotificationListener):
_zmq_context = Any()
_zmq_socket = Any()
def deliver(self, model, message):
self._zmq_socket.send(("ACTION {}".format(message)).encode("utf-8"))
def init_persistent_state(self, model):
self._zmq_context = zmq.Context()
self._zmq_socket = self._zmq_context.socket(zmq.PUB)
self._zmq_socket.bind("tcp://*:12345")
from traits.api import String
from force_bdss.ids import factory_id
from force_bdss.notification_listeners.base_notification_listener_factory \
import \
BaseNotificationListenerFactory
from .ui_notification import UINotification
from .ui_notification_model import UINotificationModel
class UINotificationFactory(BaseNotificationListenerFactory):
id = String(factory_id("enthought", "ui_notification"))
name = String("UI Notification")
def create_model(self, model_data=None):
if model_data is None:
model_data = {}
return UINotificationModel(self, **model_data)
def create_listener(self):
return UINotification(self)
from force_bdss.notification_listeners.base_notification_listener_model \
import \
BaseNotificationListenerModel
class UINotificationModel(BaseNotificationListenerModel):
pass
......@@ -2,3 +2,4 @@ envisage==4.6.0
click==6.7
six==1.10.0
stevedore==1.24.0
pyzmq==16.0.2
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment