def __init__(self): XplPlugin.__init__(self, name='scenario') self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info( u"Scenario Frontend and Manager initialized, let's wait for some work." ) self.ready()
class ScenarioFrontend(XplPlugin): """ This class provides an interface to MQ system to allow Scenarii management. """ def __init__(self): XplPlugin.__init__(self, name="scenario") self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info(u"Scenario Frontend and Manager initialized, let's wait for some work.") self.ready() def on_mdp_request(self, msg): """ Do real work with message msg.get_action() shoult contain XXXX.YYYYYY with XXXX in [test, condition, parameter] YYYYY in [list, new, etc ...] """ mapping = { "test": {"list": self._backend.list_tests, "new": self._backend.ask_test_instance}, "scenario": { "list": self._backend.list_conditions, "new": self._backend.create_scenario, "delete": self._backend.delete_scenario, "get": self._backend.get_parsed_condition, "evaluate": self._backend.eval_condition, }, "parameter": {"list": self._backend.list_parameters}, "action": {"list": self._backend.list_actions, "new": self._backend.ask_action_instance}, } try: if msg.get_data() == {}: payload = mapping[msg.get_action().split(".")[0]][msg.get_action().split(".")[1]]() else: payload = mapping[msg.get_action().split(".")[0]][msg.get_action().split(".")[1]](**msg.get_data()) self._mdp_reply(msg.get_action(), payload) except: self.log.error(u"Exception occured during message processing.") trace = str(traceback.format_exc()) self.log.debug(trace) self._mdp_reply(msg.get_action(), "error", {"details": trace}) def _mdp_reply(self, action, payload): msg = MQMessage() msg.set_action(action) msg.add_data("result", payload) self.reply(msg.get()) def end(self): """ Shutdown Scenario """ self._backend.shutdown()
def __init__(self): Plugin.__init__(self, name = 'scenario') self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info(u"Scenario Frontend and Manager initialized, let's wait for some work.") self.ready()
class ScenarioFrontend(Plugin): """ This class provides an interface to MQ system to allow Scenarii management. """ def __init__(self): Plugin.__init__(self, name = 'scenario') self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info(u"Scenario Frontend and Manager initialized, let's wait for some work.") self.ready() def on_mdp_request(self, msg): """ Do real work with message msg.get_action() shoult contain XXXX.YYYYYY with XXXX in [test, condition, parameter] YYYYY in [list, new, etc ...] """ mapping = {'test': { 'list': self._backend.list_tests, 'new': self._backend.ask_test_instance, }, 'scenario': { 'list': self._backend.list_conditions, 'new': self._backend.create_scenario, 'delete': self._backend.delete_scenario, 'get': self._backend.get_parsed_condition, 'evaluate': self._backend.eval_condition }, 'parameter': { 'list': self._backend.list_parameters, }, 'action': { 'list': self._backend.list_actions, 'new': self._backend.ask_action_instance } } try: if msg.get_action().split('.')[0] not in mapping.keys(): self._mdp_reply(msg.get_action(), "error", {"details": "{0} not in {1}".format(msg.get_action().split('.')[0], mapping.keys())}) else: if msg.get_action().split('.')[1] not in mapping[msg.get_action().split('.')[0]].keys(): self._mdp_reply(msg.get_action(), "error", {"details": "{0} not in {1}".format(msg.get_action().split('.')[1], mapping[msg.get_action().split('.')[0]].keys())}) else: if msg.get_data() == {}: payload = mapping[msg.get_action().split('.')[0]][msg.get_action().split('.')[1]]() else: payload = mapping[msg.get_action().split('.')[0]][msg.get_action().split('.')[1]](**msg.get_data()) self._mdp_reply(msg.get_action(), payload) except: self.log.error(u"Exception occured during message processing.") trace = str(traceback.format_exc()) self.log.debug(trace) self._mdp_reply(msg.get_action(), "error", {"details": trace}) def _mdp_reply(self, action, payload): msg = MQMessage() msg.set_action(action) msg.add_data('result', payload) self.reply(msg.get()) def end(self): """ Shutdown Scenario """ self._backend.shutdown()
class ScenarioFrontend(XplPlugin): """ This class provides an interface to MQ system to allow Scenarii management. """ def __init__(self): XplPlugin.__init__(self, name='scenario') self._backend = ScenarioManager(self.log) self.add_stop_cb(self.end) self.add_stop_cb(self.shutdown) self.log.info( u"Scenario Frontend and Manager initialized, let's wait for some work." ) self.ready() def on_mdp_request(self, msg): """ Do real work with message msg.get_action() shoult contain XXXX.YYYYYY with XXXX in [test, condition, parameter] YYYYY in [list, new, etc ...] """ mapping = { 'test': { 'list': self._backend.list_tests, 'new': self._backend.ask_test_instance, }, 'scenario': { 'list': self._backend.list_conditions, 'new': self._backend.create_scenario, 'delete': self._backend.delete_scenario, 'get': self._backend.get_parsed_condition, 'evaluate': self._backend.eval_condition }, 'parameter': { 'list': self._backend.list_parameters, }, 'action': { 'list': self._backend.list_actions, 'new': self._backend.ask_action_instance } } try: if msg.get_data() == {}: payload = mapping[msg.get_action().split('.')[0]][ msg.get_action().split('.')[1]]() else: payload = mapping[msg.get_action().split('.')[0]][ msg.get_action().split('.')[1]](**msg.get_data()) self._mdp_reply(msg.get_action(), payload) except: self.log.error(u"Exception occured during message processing.") trace = str(traceback.format_exc()) self.log.debug(trace) self._mdp_reply(msg.get_action(), "error", {"details": trace}) def _mdp_reply(self, action, payload): msg = MQMessage() msg.set_action(action) msg.add_data('result', payload) self.reply(msg.get()) def end(self): """ Shutdown Scenario """ self._backend.shutdown()