"""Application configuration.""" import os class Config: """Base configuration.""" SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-key-change-me') SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL', 'sqlite:///esp32.db') SQLALCHEMY_TRACK_MODIFICATIONS = False # Network UDP_LISTEN_PORT = int(os.environ.get('UDP_PORT', 5500)) SENSOR_CMD_PORT = int(os.environ.get('CMD_PORT', 5501)) SENSOR_TIMEOUT = int(os.environ.get('SENSOR_TIMEOUT', 60)) # Data retention (days) RETENTION_SIGHTINGS_DAYS = int(os.environ.get('RETENTION_SIGHTINGS_DAYS', 14)) RETENTION_PROBES_DAYS = int(os.environ.get('RETENTION_PROBES_DAYS', 14)) RETENTION_EVENTS_DAYS = int(os.environ.get('RETENTION_EVENTS_DAYS', 60)) RETENTION_ALERTS_DAYS = int(os.environ.get('RETENTION_ALERTS_DAYS', 365)) class TestConfig(Config): """Testing configuration.""" TESTING = True SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:' class ProdConfig(Config): """Production configuration.""" pass