diff options
| -rwxr-xr-x | cronjob.py | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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') |
