From 15662055b24b1bf4b6007a6a07b642234b264521 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Thu, 12 Jan 2017 15:19:02 +0100 Subject: [feat] Get more detailed status report for email - Resolves: #8754 --- src/leap/bitmask/cli/mail.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/leap/bitmask/cli') 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) -- cgit v1.2.3