summaryrefslogtreecommitdiff
path: root/service/pixelated/bitmask_libraries/nicknym.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/bitmask_libraries/nicknym.py')
-rw-r--r--service/pixelated/bitmask_libraries/nicknym.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/service/pixelated/bitmask_libraries/nicknym.py b/service/pixelated/bitmask_libraries/nicknym.py
index 220d75e5..2d66e4da 100644
--- a/service/pixelated/bitmask_libraries/nicknym.py
+++ b/service/pixelated/bitmask_libraries/nicknym.py
@@ -15,6 +15,7 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
from leap.keymanager import KeyManager, openpgp, KeyNotFound
from .certs import LeapCertificate
+from twisted.internet import defer
class NickNym(object):
@@ -27,24 +28,27 @@ class NickNym(object):
provider.api_version,
uuid, config.gpg_binary)
+ @defer.inlineCallbacks
def generate_openpgp_key(self):
- if not self._key_exists(self._email):
+ key_present = yield self._key_exists(self._email)
+ if not key_present:
print "Generating keys - this could take a while..."
- self._gen_key()
- self._send_key_to_leap()
+ yield self._gen_key()
+ yield self._send_key_to_leap()
+ @defer.inlineCallbacks
def _key_exists(self, email):
try:
- self.keymanager.get_key(email, openpgp.OpenPGPKey, private=True, fetch_remote=False)
- return True
+ yield self.keymanager.get_key(email, openpgp.OpenPGPKey, private=True)
+ defer.returnValue(True)
except KeyNotFound:
- return False
+ defer.returnValue(False)
def _gen_key(self):
- self.keymanager.gen_key(openpgp.OpenPGPKey)
+ return self.keymanager.gen_key(openpgp.OpenPGPKey)
def _send_key_to_leap(self):
- self.keymanager.send_key(openpgp.OpenPGPKey)
+ return self.keymanager.send_key(openpgp.OpenPGPKey)
def _discover_nicknym_server(provider):