diff options
author | Ruben Pollan <meskio@sindominio.net> | 2017-01-12 15:19:02 +0100 |
---|---|---|
committer | Kali Kaneko (leap communications) <kali@leap.se> | 2017-02-09 12:00:57 +0100 |
commit | 15662055b24b1bf4b6007a6a07b642234b264521 (patch) | |
tree | 77762b106364c8ff9103d0c836fe7fc6977664ea /src/leap/bitmask/cli | |
parent | 776febf6970deeef999255392c6480d1ff34c6f6 (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.py | 29 |
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) |