diff options
author | Kali Kaneko <kali@leap.se> | 2017-08-11 03:21:35 +0200 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2017-08-11 14:21:58 -0400 |
commit | 4a7e29b6eae34f34016c9b409bd887c74b949ca4 (patch) | |
tree | a343c5de481f888c45c527401e13672ade0ab041 /src/leap/bitmask/cli | |
parent | d64f3c22c132c5de0d759d1e76ff7ced054bfcaa (diff) |
[feature] add vpn list command
Diffstat (limited to 'src/leap/bitmask/cli')
-rw-r--r-- | src/leap/bitmask/cli/command.py | 22 | ||||
-rw-r--r-- | src/leap/bitmask/cli/vpn.py | 5 |
2 files changed, 23 insertions, 4 deletions
diff --git a/src/leap/bitmask/cli/command.py b/src/leap/bitmask/cli/command.py index cc3514b..1daadc5 100644 --- a/src/leap/bitmask/cli/command.py +++ b/src/leap/bitmask/cli/command.py @@ -39,10 +39,9 @@ def _print_result(result): def default_dict_printer(result): - if not result: - return - for key, value in result.items(): - if value is not str: + + def pprint(value): + if not isinstance(value, str): value = str(value) if value in ('OFF', 'OFFLINE', 'ABORTED', 'False'): color = Fore.RED @@ -50,6 +49,21 @@ def default_dict_printer(result): color = Fore.GREEN print(Fore.RESET + key.ljust(10) + color + value + Fore.RESET) + if not result: + return + + for key, value in result.items(): + if isinstance(value, list): + if isinstance(value[0], list): + value = map(lambda l: ' '.join(l), value) + for item in value: + pprint('\t' + item) + else: + value = ' '.join(value) + pprint(value) + else: + pprint(value) + def print_status(status, depth=0): diff --git a/src/leap/bitmask/cli/vpn.py b/src/leap/bitmask/cli/vpn.py index 219cac1..44556ac 100644 --- a/src/leap/bitmask/cli/vpn.py +++ b/src/leap/bitmask/cli/vpn.py @@ -37,6 +37,7 @@ SUBCOMMANDS: stop Stop VPN status Display status about the VPN check Check whether VPN service is properly configured + list List the configured gateways get_cert Get VPN Certificate from provider install Install helpers (needs root) uninstall Uninstall helpers (needs root) @@ -94,6 +95,10 @@ SUBCOMMANDS: return self._send(command.default_dict_printer) + def list(self, raw_args): + self.data += ['list'] + return self._send(command.default_dict_printer) + def get_cert(self, raw_args): parser = argparse.ArgumentParser( description='Bitmask VPN cert fetcher', |