Spaces:
Paused
Paused
| import os | |
| class Config: | |
| SECRET_KEY = os.environ.get('SECRET_KEY', 'kpi-dashboard-secret-key-change-in-production') | |
| _cloud = any(k in os.environ for k in ('AMVERA', 'SPACE_ID', 'SPACE_REPO_NAME', 'SPACE_TITLE', 'HF_API_TOKEN')) | |
| _db_path = '/data/kpi_dashboard.db' if _cloud else os.path.join( | |
| os.path.dirname(os.path.abspath(__file__)), 'instance', 'kpi_dashboard.db' | |
| ) | |
| SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL', f'sqlite:///{_db_path}') | |
| if 'postgresql' in (os.environ.get('DATABASE_URL', '') or ''): | |
| SQLALCHEMY_DATABASE_URI = SQLALCHEMY_DATABASE_URI.replace('postgres://', 'postgresql://') | |
| SQLALCHEMY_TRACK_MODIFICATIONS = False | |
| UPLOAD_FOLDER = '/data/uploads' if _cloud else os.path.join( | |
| os.path.dirname(os.path.abspath(__file__)), 'uploads' | |
| ) | |
| MAX_CONTENT_LENGTH = 50 * 1024 * 1024 | |
| ALLOWED_EXTENSIONS = {'xlsx', 'xls', 'pdf'} | |
| TELEGRAM_BOT_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN', '') | |
| TELEGRAM_CHAT_ID = os.environ.get('TELEGRAM_CHAT_ID', '') | |
| WTF_CSRF_ENABLED = True | |
| SESSION_COOKIE_SECURE = False | |
| SESSION_COOKIE_HTTPONLY = True | |
| SESSION_COOKIE_SAMESITE = 'Lax' | |
| SCHEDULER_ENABLED = os.environ.get('SCHEDULER_ENABLED', 'False').lower() in ('true', '1', 'yes') | |
| FACT_SYNC_SCHEDULE = os.environ.get('FACT_SYNC_SCHEDULE', '02:00') | |
| TEMPLATES_AUTO_RELOAD = True | |