diff options
author | Kali Kaneko <kali@leap.se> | 2013-12-17 00:45:05 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2013-12-17 00:45:05 -0400 |
commit | 27c25df5533f9312c93fa79af2d7a442b389b9b8 (patch) | |
tree | 3ddbec84c37df60b0689f1053a7ec93a4421ecd2 | |
parent | 4d686e9f34bbbccdc5a57cccf9028b6106013d04 (diff) |
memoize call to get_key
-rw-r--r-- | changes/VERSION_COMPAT | 1 | ||||
-rw-r--r-- | changes/feature_4784-memoize-get-key | 1 | ||||
-rw-r--r-- | src/leap/keymanager/__init__.py | 7 |
3 files changed, 7 insertions, 2 deletions
diff --git a/changes/VERSION_COMPAT b/changes/VERSION_COMPAT index e69de29..dfe67ab 100644 --- a/changes/VERSION_COMPAT +++ b/changes/VERSION_COMPAT @@ -0,0 +1 @@ +leap.common >= 0.3.7 # memoize diff --git a/changes/feature_4784-memoize-get-key b/changes/feature_4784-memoize-get-key new file mode 100644 index 0000000..5284827 --- /dev/null +++ b/changes/feature_4784-memoize-get-key @@ -0,0 +1 @@ + o Memoize call to get_key. Closes: #4784 diff --git a/src/leap/keymanager/__init__.py b/src/leap/keymanager/__init__.py index 6cfbf71..5b1d8d9 100644 --- a/src/leap/keymanager/__init__.py +++ b/src/leap/keymanager/__init__.py @@ -46,6 +46,7 @@ import requests from leap.common.check import leap_assert, leap_assert_type from leap.common.events import signal from leap.common.events import events_pb2 as proto +from leap.common.decorators import memoized_method from leap.keymanager.errors import KeyNotFound @@ -250,6 +251,7 @@ class KeyManager(object): self._put(uri, data) signal(proto.KEYMANAGER_DONE_UPLOADING_KEYS, self._address) + @memoized_method def get_key(self, address, ktype, private=False, fetch_remote=True): """ Return a key of type C{ktype} bound to C{address}. @@ -266,9 +268,10 @@ class KeyManager(object): :return: A key of type C{ktype} bound to C{address}. :rtype: EncryptionKey - @raise KeyNotFound: If the key was not found both locally and in - keyserver. + :raise KeyNotFound: If the key was not found both locally and in + keyserver. """ + logger.debug("getting key for %s" % (address,)) leap_assert( ktype in self._wrapper_map, 'Unkown key type: %s.' % str(ktype)) |