X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=processor.py;h=a18594d890424f29a6e2640b1b7192f7e6d2476b;hb=a92c552cb893495de62a2c594f3aac34ee643bb0;hp=1fd7909365698c2de1d89326a8e7085f08dafe9f;hpb=cb1ebe091b58cb616458c1afd1b97251d61eabed;p=electrum-server.git diff --git a/processor.py b/processor.py index 1fd7909..a18594d 100644 --- a/processor.py +++ b/processor.py @@ -66,42 +66,36 @@ class Processor(threading.Thread): raise TypeError("self.shared not set in Processor") while not self.shared.stopped(): session, request = self.pop_request() - - method = request['method'] - params = request.get('params',[]) - - suffix = method.split('.')[-1] - if suffix == 'subscribe': - session.subscribe_to_service(method, params) - - # store session and id locally - request['id'] = self.store_session_id(session, request['id']) - - # dispatch request to the relevant module.. - prefix = method.split('.')[0] - try: - func = self.processors[prefix] - except: - print "error: no processor for", prefix - continue - - try: - func(request,self.response_queue) - except: - traceback.print_exc(file=sys.stdout) - continue + self.process(session, request) self.stop() def stop(self): pass - def process(self, request): - print "New request", request - # Do stuff... - # response = request - # When ready, you call - # self.push_response(response) + def process(self, session, request): + method = request['method'] + params = request.get('params',[]) + + suffix = method.split('.')[-1] + if suffix == 'subscribe': + session.subscribe_to_service(method, params) + + # store session and id locally + request['id'] = self.store_session_id(session, request['id']) + + # dispatch request to the relevant module.. + prefix = request['method'].split('.')[0] + try: + func = self.processors[prefix] + except: + print "error: no processor for", prefix + return + try: + func(request,self.response_queue) + except: + traceback.print_exc(file=sys.stdout) + def add_session(self, session): with self.lock: