from app import app, init_db
from waitress import serve
import webbrowser, threading, time, socket

HOST = "0.0.0.0"
PORT = 5000

def get_local_ip():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(("8.8.8.8", 80))
        ip = s.getsockname()[0]
        s.close()
        return ip
    except Exception:
        return "IP-ΥΠΟΛΟΓΙΣΤΗ"

def open_browser():
    time.sleep(1.5)
    webbrowser.open(f"http://127.0.0.1:{PORT}")

if __name__ == "__main__":
    init_db()
    ip = get_local_ip()
    threading.Thread(target=open_browser, daemon=True).start()
    print("======================================")
    print("ΔΗΜΟΣ ΠΑΡΓΑΣ - Παρακολούθηση Καυσίμων")
    print("======================================")
    print(f"Τοπικά: http://127.0.0.1:{PORT}")
    print(f"Στο δίκτυο: http://{ip}:{PORT}")
    print("Μην κλείσεις αυτό το παράθυρο αν δεν θέλεις να σταματήσει η εφαρμογή.")
    serve(app, host=HOST, port=PORT)
