""" 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 }