def buildResponse(self, **kwargs): if kwargs['path'] in ["/api/service/v2/update", "/api/service/v2/list"]: while not self.configUpdate: sleep(0.25) if self.halt: sys.stderr.write('%s halting while client still on the Phone!\n' % self.__class__.__name__) sys.stderr.flush() break if self.configUpdate: keys = set(k for k in kwargs.get('arguments', {}).get('keys', [''])[0].split(',') if k) for special_key in ['services', 'config']: if '-'+special_key in keys: keys.remove('-'+special_key) else: keys.add(special_key) identifier = self._findIdentifier(**kwargs) result = {} for key in keys: try: result[key] = self.configUpdate[key] except KeyError: pass if identifier: service = result.get('services', {}).get(identifier, None) if service: result['this_service'] = dict(service) result['this_service']['state'] = {'readable':service['readable'], 'writable':service['writable']} return Ok + CRLF + dumps(result) return MockServer.buildResponse(self, **kwargs)
def buildResponse(self, **kwargs): if kwargs["path"] in ["/api/service/v2/update", "/api/service/v2/list"]: while not self.configUpdate: sleep(0.25) if self.halt: sys.stderr.write("%s halting while client still on the Phone!\n" % self.__class__.__name__) sys.stderr.flush() break if self.configUpdate: keys = set(k for k in kwargs.get("arguments", {}).get("keys", [""])[0].split(",") if k) for special_key in ["services", "config"]: if "-" + special_key in keys: keys.remove("-" + special_key) else: keys.add(special_key) identifier = self._findIdentifier(**kwargs) result = {} for key in keys: try: result[key] = self.configUpdate[key] except KeyError: pass if identifier: service = result.get("services", {}).get(identifier, None) if service: result["this_service"] = dict(service) result["this_service"]["state"] = { "readable": service["readable"], "writable": service["writable"], } return Ok + CRLF + dumps(result) return MockServer.buildResponse(self, **kwargs)