def registerKey(self, key, comment): url = self.baseUrl.click("keys/") pubKey = self._buildKey(key, comment) try: rsp = yield self.agent.open(url, method="POST", data=ws.jsonize({"key": pubKey})) except WebError, err: if int(err.status) == http.BAD_REQUEST: try: errInfo = json.loads(err.response.content)["error"] except: log.err() raise err else: log.debug("Decoded JSON error") if errInfo.get("type") == "KeyAlreadyExists": raise iface.KeyAlreadyExists(pubKey) log.err() raise
def registerEntity(self, entId, species, key): url = self.baseUrl.click("entities/") ent = self._buildEntity(entId, species, key.id) pubKey = self._buildKey(key, entId, "primary") try: rsp = yield self.agent.open(url, method="POST", data=ws.jsonize({"entity": ent, "key": pubKey, })) except WebError, err: if int(err.status) == http.BAD_REQUEST: try: errInfo = json.loads(err.response.content)["error"] except: log.err() raise err else: log.debug("Decoded JSON error") if errInfo.get("type") == "EntityAlreadyExists": raise iface.EntityAlreadyExists(entId) log.err() raise