Files
Aruba-PoE/srv/poe_manager/generate_ips.py

33 lines
1.0 KiB
Python

#!/usr/bin/env python3
import sqlite3
from app import decrypt_password, DB_PATH
def generate_ips_list():
conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row
switches = {row['hostname']: row for row in conn.execute("SELECT hostname, ip, username, password FROM switches")}
devices = conn.execute("""
SELECT mac, rpi_ip, port, name, switch_hostname
FROM devices
WHERE is_active=1
""").fetchall()
conn.close()
for dev in devices:
# Switchdaten holen, falls vorhanden
switch = switches.get(dev['switch_hostname'])
if switch:
switch_ip = switch['ip']
switch_user = switch['username']
switch_pass = decrypt_password(switch['password'])
else:
switch_ip = ""
switch_user = ""
switch_pass = ""
port = dev['port'] or ""
print(f"{dev['rpi_ip']}:{dev['name']}:{switch_ip}:{dev['switch_hostname'] or ''}:{port}:{switch_user}:{switch_pass}")
if __name__ == "__main__":
generate_ips_list()