summaryrefslogtreecommitdiff
path: root/cronjob.py
diff options
context:
space:
mode:
authorGravatar steering7253 <steering7253@proton.me>2026-04-11 01:08:03 +0000
committerGravatar steering7253 <steering7253@proton.me>2026-04-11 01:08:03 +0000
commit394e4c0210d14943329db06d9a73bd4cee8d5b5e (patch)
tree50fdb22074346cd8b710ee2e9a6375cd05237806 /cronjob.py
parentadd more help to addpeer (diff)
delete rows to free up the names after their soft-deletions are processedHEADmain
Diffstat (limited to 'cronjob.py')
-rwxr-xr-xcronjob.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/cronjob.py b/cronjob.py
index 67671bd..fa2bbea 100755
--- a/cronjob.py
+++ b/cronjob.py
@@ -19,8 +19,10 @@ while row := curs.fetchone():
birdcfg.close()
wgcfg.close()
os.system(f'systemctl enable --now wg-quick@wg{asn%10000:04}{name}')
+curs.close()
curs = DB.execute('SELECT name, asn FROM peers WHERE deleted=1')
+deletions = []
while row := curs.fetchone():
name, asn = row
print(f'Deleting {asn}-{name}...')
@@ -29,5 +31,10 @@ while row := curs.fetchone():
except FileNotFoundError: pass
try: os.remove(f'/etc/wireguard/wg{asn%10000:04}{name}.conf')
except FileNotFoundError: pass
+ deletions.append((name, asn))
+curs.close()
+
+for name, asn in deletions:
+ DB.execute('DELETE FROM peers WHERE name = :name AND asn = :asn', dict(name=name, asn=asn))
os.system('/usr/sbin/birdc configure')