Exemple #1
0
    class SampleObj:
        STATE_STOPPED = 'Stopped'
        STATE_STARTED = 'Started'
        STATE_PAUSED = 'Paused'

        def __init__(self):
            self.log = logging.getLogger(self.__class__.__name__)

            self.last_handler = None
            self.state = State(self, self.STATE_STOPPED, {self.STATE_PAUSED : 30})

        def identify_state(self, event):
            return self.state.identify_state(event)

        # Commands
        @Dispatcher.event_handler
        def Start(self, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        @Dispatcher.event_handler
        def Stop(self, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        @Dispatcher.event_handler
        def Pause(self, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        # Stopped
        def inStopped_onStart(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')
            self.state.change_state(self.STATE_STARTED)

        def inStopped_onEnter(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def inStopped_onLeave(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def inStopped_onDefault(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        # Started
        def inStarted_onPause(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')
            self.state.change_state(self.STATE_PAUSED)

        def inStarted_onStop(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')
            self.state.change_state(self.STATE_STOPPED)

        def inStarted_onEnter(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def inStarted_onLeave(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def inStarted_onDefault(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        # Paused
        def inPaused_onStart(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')
            self.state.change_state(self.STATE_STARTED)

        def inPaused_onStop(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')
            self.state.change_state(self.STATE_STOPPED)

        def inPaused_onEnter(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def inPaused_onLeave(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def inPaused_onDefault(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        # Default
        def onEnter(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def onLeave(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')

        def onDefault(self, event, *args, **kwargs):
            self.last_handler = sys._getframe().f_code.co_name
            self.log.debug(sys._getframe().f_code.co_name + '')