def post(self, function) : if function == "songs" : self.finish({"result" : self.application.db.get_songs()}) elif function == "destinations" : self.finish({"result" : [(dest[0], dest[1].url()) for dest in self.application.destinations]}) elif function == "add" : try : for dest in self.application.destinations : if dest[0] == self.get_argument("destination") : dest[1].add(json.loads(self.get_argument("filenames"))) break self.finish({"result" : "ok"}) except Exception as x : print x self.finish({"error" : "Could not queue."}) elif function == "rpc" : def getMessage() : return json.loads(self.get_argument("message")) for dest in self.application.destinations : if isinstance(dest[1], audacious.AudaciousQueue) : res = minirpc.handle_request(dest[1], getMessage) self.finish({"result" : res}) return self.finish({"error" : "No local audacious queue"}) else : self.finish({"error" : "No such function."})
def post(self, function) : if function == "rpc" : def getMessage() : return json.loads(self.get_argument("message")) res = minirpc.handle_request(self.application.queue, getMessage) self.finish({"result" : res}) else : self.finish({"error" : "No such function"})
def post(self, module) : def getMessage() : args = json.loads(self.get_argument("message", None)) args.setdefault("kwargs", {})["user"] = self.current_user print repr(args) return args if module not in rpcmodules.RPC_MODULES : logger.error("No such rpc module %s", module) self.finish(minirpc.render_exception(KeyError(module))) else : const_args = {"handler" : self, "channels" : channels} self.finish(minirpc.handle_request(rpcmodules.RPC_MODULES[module](**const_args), getMessage))