diff options
Diffstat (limited to 'autopeer_shell.py')
| -rwxr-xr-x | autopeer_shell.py | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/autopeer_shell.py b/autopeer_shell.py index abb4100..1939348 100755 --- a/autopeer_shell.py +++ b/autopeer_shell.py @@ -2,7 +2,7 @@ #TODO: capture ^C during commands -import cmd, functools, getpass, os, re, subprocess, sys, time +import cmd, functools, getpass, os, re, subprocess, sys, time, traceback try: import readline except: pass @@ -70,6 +70,16 @@ class AutopeerShell(cmd.Cmd): self.prompt = f'{getpass.getuser()}@{socket.gethostname()}:{SELECTED_ASN}> ' return stop + def onecmd(self, line): + try: + return super().onecmd(line) + except Exception as e: + traceback.print_exc() + return False + + def emptyline(self): + return False + @parse(0) def do_ls(self): '''(no args) @@ -121,9 +131,7 @@ class AutopeerShell(cmd.Cmd): print() self.do_showpeer(name) print() - self.do_showbird(name) - print() - self.do_showwg(name) + self.do_showtemplates(name) print() print() @@ -142,6 +150,8 @@ class AutopeerShell(cmd.Cmd): @parse(1) def do_showpeer(self, name): + '''<name> + Show textual info about a peering''' me = _get_my_info(SELECTED_ASN) you = _get_peer_info(name, SELECTED_ASN) print(f''' @@ -159,17 +169,19 @@ Your Tunnel IPv6LL: {you.ipll} ''') @parse(1) - def do_showbird(self, name): + def do_showtemplates(self, name): '''<name> - Show basic bird config''' + Show basic config templates for your side''' print(_bird_config(name, _get_my_info(SELECTED_ASN), _get_peer_info(name, SELECTED_ASN))) + print(_wg_config(name, _get_my_info(SELECTED_ASN), _get_peer_info(name, SELECTED_ASN))) @parse(1) - def do_showwg(self, name): + def do_showconf(self, name): '''<name> - Show basic Wireguard config + Show my side config ''' - print(_wg_config(name, _get_my_info(SELECTED_ASN), _get_peer_info(name, SELECTED_ASN))) + print(_bird_config(name, _get_peer_info(name, SELECTED_ASN), _get_my_info(SELECTED_ASN))) + print(_wg_config(name, _get_peer_info(name, SELECTED_ASN), _get_my_info(SELECTED_ASN))) @parse(1) def do_as(self, asn): |
