Files
driving-academy/config.py
2025-10-26 23:39:49 -05:00

75 lines
2.0 KiB
Python

"""
Configuración de la aplicación Balotario Licencia A-I
"""
import os
class Config:
"""Configuración base de la aplicación"""
# Configuración de Flask
SECRET_KEY = os.environ.get('SECRET_KEY') or 'balotario_secret_key_2024_super_secure'
DEBUG = os.environ.get('FLASK_DEBUG', 'True').lower() == 'true'
# Configuración de la aplicación
APP_NAME = "Balotario Licencia Clase A - Categoría I"
APP_VERSION = "1.0.0"
APP_DESCRIPTION = "Aplicación interactiva para estudiar el balotario oficial del MTC Perú"
# Configuración del balotario
MARKDOWN_FILE = 'data/balotario_clase_a_cat_I.md'
TOTAL_QUESTIONS = 200
# Configuración de límites
MAX_PRACTICE_QUESTIONS = 50
MAX_EXAM_QUESTIONS = 40
DEFAULT_EXAM_TIME = 30 # minutos
# Configuración de la interfaz
ITEMS_PER_PAGE = 20
ANIMATION_DURATION = 300 # milisegundos
# URLs de imágenes
IMAGE_BASE_URL = "https://sierdgtt.mtc.gob.pe/Content/img-data/"
# Configuración de estadísticas
STATS_RETENTION_DAYS = 30
# Configuración de temas
DEFAULT_THEME = "light"
AVAILABLE_THEMES = ["light", "dark"]
# Configuración de sonidos
SOUND_ENABLED = True
# Configuración de accesibilidad
HIGH_CONTRAST_MODE = False
LARGE_TEXT_MODE = False
@staticmethod
def init_app(app):
"""Inicializar configuración específica de la aplicación"""
pass
class DevelopmentConfig(Config):
"""Configuración para desarrollo"""
DEBUG = True
class ProductionConfig(Config):
"""Configuración para producción"""
DEBUG = False
SECRET_KEY = os.environ.get('SECRET_KEY') or 'production_secret_key_change_this'
class TestingConfig(Config):
"""Configuración para testing"""
TESTING = True
DEBUG = True
# Configuraciones disponibles
config = {
'development': DevelopmentConfig,
'production': ProductionConfig,
'testing': TestingConfig,
'default': DevelopmentConfig
}