summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/core/dispatcher.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/bitmask/core/dispatcher.py')
-rw-r--r--src/leap/bitmask/core/dispatcher.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/leap/bitmask/core/dispatcher.py b/src/leap/bitmask/core/dispatcher.py
index 785c60dc..a50a6b62 100644
--- a/src/leap/bitmask/core/dispatcher.py
+++ b/src/leap/bitmask/core/dispatcher.py
@@ -153,22 +153,30 @@ class KeysCmd(SubCommand):
label = 'keys'
- @register_method("[[str, str]]")
+ @register_method("[dict]")
def do_LIST(self, service, *parts, **kw):
+ private = False
+ if parts[-1] == 'private':
+ private = True
+
bonafide = kw['bonafide']
d = bonafide.do_get_active_user()
- d.addCallback(service.do_list_keys)
+ d.addCallback(service.do_list_keys, private)
return d
- @register_method('str')
+ @register_method('dict')
def do_EXPORT(self, service, *parts, **kw):
if len(parts) < 3:
return defer.fail("An email address is needed")
address = parts[2]
+ private = False
+ if parts[-1] == 'private':
+ private = True
+
bonafide = kw['bonafide']
d = bonafide.do_get_active_user()
- d.addCallback(service.do_export, address)
+ d.addCallback(service.do_export, address, private)
return d
@register_method('str')
@@ -177,9 +185,13 @@ class KeysCmd(SubCommand):
return defer.fail("An email address is needed")
address = parts[2]
+ private = False
+ if parts[-1] == 'private':
+ private = True
+
bonafide = kw['bonafide']
d = bonafide.do_get_active_user()
- d.addCallback(service.do_delete, address)
+ d.addCallback(service.do_delete, address, private)
return d