75 lines
2.0 KiB
Python
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
|
|
}
|