def send_key(self):
"""
Send user's key to provider.
Public key bound to user's is sent to provider, which will
replace any prior keys for the same address in its database.
:return: A Deferred which fires when the key is sent, or which fails
with KeyNotFound if the key was not found in local database.
:rtype: Deferred
:raise UnsupportedKeyTypeError: if invalid key type
"""
if not self.token:
self.log.debug(
'Token not available, scheduling '
'a new key sending attempt...')
yield task.deferLater(reactor, 5, self.send_key)
self.log.info('Sending public key to server')
key = yield self.get_key(self._address, fetch_remote=False)
yield self._nicknym.put_key(self.uid, key.key_data,
self._api_uri, self._api_version)
emit_async(catalog.KEYMANAGER_DONE_UPLOADING_KEYS,
self._address)
self.log.info('Key sent to server')
defer.returnValue(key)
评论列表
文章目录