summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/cli
diff options
context:
space:
mode:
authorRuben Pollan <meskio@sindominio.net>2017-01-12 15:19:02 +0100
committerKali Kaneko (leap communications) <kali@leap.se>2017-02-09 12:00:57 +0100
commit15662055b24b1bf4b6007a6a07b642234b264521 (patch)
tree77762b106364c8ff9103d0c836fe7fc6977664ea /src/leap/bitmask/cli
parent776febf6970deeef999255392c6480d1ff34c6f6 (diff)
[feat] Get more detailed status report for email
- Resolves: #8754
Diffstat (limited to 'src/leap/bitmask/cli')
-rw-r--r--src/leap/bitmask/cli/mail.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/leap/bitmask/cli/mail.py b/src/leap/bitmask/cli/mail.py
index 46251313..73e21965 100644
--- a/src/leap/bitmask/cli/mail.py
+++ b/src/leap/bitmask/cli/mail.py
@@ -17,6 +17,11 @@
"""
Bitmask Command Line interface: mail
"""
+import argparse
+import sys
+
+from colorama import Fore
+
from leap.bitmask.cli import command
@@ -35,4 +40,26 @@ SUBCOMMANDS:
'''.format(name=command.appname)
- commands = ['enable', 'disable', 'status', 'get_token']
+ commands = ['enable', 'disable', 'get_token']
+
+ def status(self, raw_args):
+ parser = argparse.ArgumentParser(
+ description='Bitmask email status',
+ prog='%s %s %s' % tuple(sys.argv[:3]))
+ parser.add_argument('uid', nargs='?', default=None,
+ help='uid to check the status of')
+ subargs = parser.parse_args(raw_args)
+
+ self.data.append('status')
+ if subargs.uid:
+ self.data.append(subargs.uid)
+ return self._send(self._print_status)
+
+ def _print_status(self, status, depth=0):
+ spaces = depth * " "
+ for k, v in status.items():
+ if type(v) == dict:
+ print(spaces + k + ":")
+ self._print_status(v, depth + 1)
+ else:
+ print(spaces + k + ": " + Fore.GREEN + str(v) + Fore.RESET)