示例#1
0
文件: server.py 项目: si618/pi-time
 def _verify_type(self, server, actual, expected, call):
     match = isinstance(actual, expected)
     if not match:
         error = "Method must return %s, error in: %s" % (expected.__name__,
             call)
         logger.error(error)
         result = ApiResult(call, ok=False, data=error)
         server.sendMessage(result.toJSON())
     return match
示例#2
0
 def _verify_type(self, server, actual, expected, call):
     match = isinstance(actual, expected)
     if not match:
         error = "Method must return %s, error in: %s" % (expected.__name__,
                                                          call)
         logger.error(error)
         result = ApiResult(call, ok=False, data=error)
         server.sendMessage(result.toJSON())
     return match
示例#3
0
文件: server.py 项目: si618/pi-time
 def onMessage(self, msg, binary):
     if binary:
         return
     try:
         self._handler.process(self, msg)
     except Exception as e:
         logger.error('Unhandled exception: %s' % e)
         error = type(e).__name__ + ' from message: ' + msg
         result = ApiResult('Unknown', ok=False, data=error)
         self.sendMessage(result.toJSON())
示例#4
0
 def onMessage(self, msg, binary):
     if binary:
         return
     try:
         self._handler.process(self, msg)
     except Exception as e:
         logger.error('Unhandled exception: %s' % e)
         error = type(e).__name__ + ' from message: ' + msg
         result = ApiResult('Unknown', ok=False, data=error)
         self.sendMessage(result.toJSON())
示例#5
0
文件: server.py 项目: si618/pi-time
 def _load_data(self, server, msg):
     if 'call' not in msg:
         error = "Message missing 'call': %s" % msg
         logger.error(error)
         result = ApiResult(call=None, ok=False, data=error)
         server.sendMessage(result.toJSON())
         return
     data = json.loads(msg)
     if 'args' not in data:
         data['args'] = {}
     return data
示例#6
0
 def _load_data(self, server, msg):
     if 'call' not in msg:
         error = "Message missing 'call': %s" % msg
         logger.error(error)
         result = ApiResult(call=None, ok=False, data=error)
         server.sendMessage(result.toJSON())
         return
     data = json.loads(msg)
     if 'args' not in data:
         data['args'] = {}
     return data
示例#7
0
文件: server.py 项目: si618/pi-time
 def _get_api_method(self, server, call):
     if 'lap' in call:
         method = getattr(api_lap, call)
     elif 'rider' in call:
         method = getattr(api_rider, call)
     elif 'session' in call:
         method = getattr(api_session, call)
     elif 'track' in call:
         method = getattr(api_track, call)
     else:
         method = getattr(api, call)
     if not method:
         error = "Method not implemented in API: %s" % call
         logger.error(error)
         result = ApiResult(call, ok=False, data=error)
         server.sendMessage(result.toJSON())
         return
     return method
示例#8
0
 def _get_api_method(self, server, call):
     if 'lap' in call:
         method = getattr(api_lap, call)
     elif 'rider' in call:
         method = getattr(api_rider, call)
     elif 'session' in call:
         method = getattr(api_session, call)
     elif 'track' in call:
         method = getattr(api_track, call)
     else:
         method = getattr(api, call)
     if not method:
         error = "Method not implemented in API: %s" % call
         logger.error(error)
         result = ApiResult(call, ok=False, data=error)
         server.sendMessage(result.toJSON())
         return
     return method