From e4f879fed65a7c1eea15fa54932b554f880054dc Mon Sep 17 00:00:00 2001 From: steering7253 Date: Sat, 2 May 2026 01:26:21 +0000 Subject: more verbosity around pending deletions --- autopeer_shell.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/autopeer_shell.py b/autopeer_shell.py index 649b24c..de126e4 100755 --- a/autopeer_shell.py +++ b/autopeer_shell.py @@ -87,10 +87,13 @@ class AutopeerShell(cmd.Cmd): def do_ls(self): '''(no args) List your peers''' - curs = DB.execute('SELECT name, endpoint, port FROM peers WHERE asn=:asn', dict(asn=SELECTED_ASN)) + curs = DB.execute('SELECT name, endpoint, port, deleted FROM peers WHERE asn=:asn', dict(asn=SELECTED_ASN)) print(f'Active peerings for {SELECTED_ASN}:') while row := curs.fetchone(): - print(f'- {row[0]} ({row[1]} {row[2]})') + if int(row[3]): + print(f'- {row[0]} (pending deletion)') + else: + print(f'- {row[0]} ({row[1]} {row[2]})') print() def help_addpeer(self): @@ -133,6 +136,13 @@ My Tunnel IPv6LL: {me.ipll} print(f'Error: ipv6 link local must match {IPLL_REGEX}', file=sys.stderr) return + if row := DB.execute('SELECT deleted FROM peers WHERE asn=:asn AND name=:name', dict(asn=SELECTED_ASN, name=name)).fetchone(): + if int(row[0]): + print(f'Error: {name} already exists and is still pending deletion. Try again in 5 minutes.', file=sys.stderr) + else: + print(f'Error: {name} already exists', file=sys.stderr) + return + sp = subprocess.run(['socat', 'stdio', NOTIFY_TO], input=f"[autopeer {socket.gethostname()}] Created new peering {name!r} for AS{SELECTED_ASN} by {USER}", text=True) try: -- cgit v1.3.1-10-gc9f91