| Total Complexity | 3 |
| Total Lines | 36 |
| Duplicated Lines | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | """ |
||
| 17 | class RequestPossibleNodeActionsMessageEventHandler: |
||
| 18 | """ |
||
| 19 | An event handler for a RequestPossibleNodeActions received events. |
||
| 20 | """ |
||
| 21 | |||
| 22 | # ------------------------------------------------------------------------------------------------------------------ |
||
| 23 | @staticmethod |
||
| 24 | def handle(_event, message, controller): |
||
| 25 | """ |
||
| 26 | Handles a RequestPossibleNodeActions received event. |
||
| 27 | |||
| 28 | :param * _event: Not used. |
||
| 29 | :param enarksh.controller.message.RequestPossibleNodeActionsMessage.RequestPossibleNodeActionsMessage message: |
||
| 30 | The message. |
||
| 31 | :param enarksh.controller.Controller.Controller controller: The controller. |
||
| 32 | """ |
||
| 33 | del _event |
||
| 34 | |||
| 35 | try: |
||
| 36 | schedule = controller.get_schedule_by_sch_id(message.sch_id) |
||
| 37 | if schedule: |
||
| 38 | response = schedule.request_possible_node_actions(message.rnd_id) |
||
| 39 | else: |
||
| 40 | response = Schedule.get_response_template() |
||
| 41 | except Exception as exception: # XXX move to MessageHandler |
||
| 42 | print(exception, file=sys.stderr) |
||
| 43 | traceback.print_exc(file=sys.stderr) |
||
| 44 | |||
| 45 | response = dict() |
||
| 46 | response['ret'] = -1 |
||
| 47 | response['message'] = 'Internal error' |
||
| 48 | |||
| 49 | DataLayer.rollback() |
||
| 50 | |||
| 51 | # Send the message to the web interface. |
||
| 52 | controller.message_controller.send_message('lockstep', response, True) |
||
| 53 | |||
| 55 |