

def run(self):
    if (not self.action):
        return
    try:
        S.SESSION_BUSY = True
        if (self.action == ACTION_EVALUATE):
            self.evaluate(self.get_option('expression'))
        elif (self.action == ACTION_EXECUTE):
            self.execute(self.get_option('command'))
        elif (self.action == ACTION_INIT):
            self.init()
        elif (self.action == ACTION_REMOVE_BREAKPOINT):
            self.remove_breakpoint(self.get_option('breakpoint_id'))
        elif (self.action == ACTION_SET_BREAKPOINT):
            self.set_breakpoint(self.get_option('filename'), self.get_option('lineno'), self.get_option('expression'))
        elif (self.action == ACTION_STATUS):
            self.status()
        elif (self.action == ACTION_USER_EXECUTE):
            self.user_execute(self.get_option('command'), self.get_option('args'))
        elif (self.action == ACTION_WATCH):
            self.watch_expression()
    except ProtocolConnectionException:
        e = sys.exc_info()[1]
        self.timeout((lambda : connection_error(('%s' % e))))
    finally:
        S.SESSION_BUSY = False

dataset/ETHPy150Open martomo/SublimeTextXdebug/xdebug/session.py SocketHandler.run/original