Example #1
0
 def __parse_action_data(self, action):
     """ Parse action data and returns (method, params) """
     data = action['action']
     parser, decoder = rpclib.getparser()
     parser.feed(data)
     parser.close()
     params = decoder.close()
     method = decoder.getmethodname()
     return (method, params)
Example #2
0
def handle_action(action):
    global server

    log.log_debug("handle_action", action)

    version = action["version"]
    action_id = action["id"]
    data = action["action"]

    log.log_debug("handle_action actionid = %s, version = %s" % (action_id, version))

    # Decipher the data
    parser, decoder = rpclib.getparser()
    parser.feed(data)
    parser.close()
    params = decoder.close()
    method = decoder.getmethodname()
    data = {}

    (status, message, data) = run_action(method, params)

    log.log_debug("Sending back response", (status, message, data))
    return submit_response(action_id, status, message, data)