diff options
Diffstat (limited to 'src/leap/mx')
-rw-r--r-- | src/leap/mx/alias_resolver.py | 4 | ||||
-rw-r--r-- | src/leap/mx/couchdbhelper.py | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/leap/mx/alias_resolver.py b/src/leap/mx/alias_resolver.py index eb08c06..8155ff9 100644 --- a/src/leap/mx/alias_resolver.py +++ b/src/leap/mx/alias_resolver.py @@ -45,13 +45,17 @@ class AliasResolverFactory(postfix.PostfixTCPMapDeferringDictServerFactory): def _to_str(self, result): if isinstance(result, unicode): result = result.encode("utf8") + if result is None: + logger.debug("Result not found") return result def get(self, key): orig_key = key try: + logger.debug("Processing key: %s" % (key,)) key = key.split("@")[0] key = key.split("+")[0] + logger.debug("Final key to query: %s" % (key,)) except Exception as e: key = orig_key logger.exception("%s" % (e,)) diff --git a/src/leap/mx/couchdbhelper.py b/src/leap/mx/couchdbhelper.py index cbb087d..4e76be3 100644 --- a/src/leap/mx/couchdbhelper.py +++ b/src/leap/mx/couchdbhelper.py @@ -114,7 +114,8 @@ class ConnectedCouchDB(client.CouchDB): d = self.openView(docId="User", viewId="by_login_or_alias/", key=alias, - reduce=False) + reduce=False, + include_docs=True) d.addCallbacks(partial(self._get_uuid, alias), log.err) @@ -135,7 +136,7 @@ class ConnectedCouchDB(client.CouchDB): for row in result["rows"]: if row["key"] == alias: uuid = row["id"] - self._cache[uuid] = row["value"] + self._cache[uuid] = row["doc"]["public_key"] return uuid return None @@ -161,6 +162,7 @@ if __name__ == "__main__": @d.addCallback def right(result): print "Should be an actual uuid:", result + print "Public Key:" print cdb.getPubKey(result) d2 = cdb.queryByLoginOrAlias("asdjaoisdjoiqwjeoi") |