"""
Configuración de DESARROLLO — Catálogo Web Dra. Mariela Moreno Autie
====================================================================
"""

from .base import *  # noqa: F401,F403

# ============================================================
# DEBUG
# ============================================================
DEBUG = True

# ============================================================
# HOSTS — Permitir cualquier host en desarrollo
# ============================================================
ALLOWED_HOSTS = ["*"]

# ============================================================
# CORS — Orígenes explícitos en desarrollo (sin wildcard)
# ============================================================
CORS_ALLOW_ALL_ORIGINS = False

# ============================================================
# EMAIL — SMTP real
# ============================================================
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"

# ============================================================
# CACHÉ — Desactivar en desarrollo (opcional)
# ============================================================
# Sin Redis local — usar caché en memoria
CACHES = {
    "default": {
        "BACKEND": "django.core.cache.backends.locmem.LocMemCache",
    }
}

# Sesiones en BD en vez de Redis
SESSION_ENGINE = "django.contrib.sessions.backends.db"

# ============================================================
# STATIC FILES — Sin compresión en desarrollo
# ============================================================
STATICFILES_STORAGE = "django.contrib.staticfiles.storage.StaticFilesStorage"

# ============================================================
# LOGGING — DESARROLLO
# ============================================================
LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "formatters": {
        "verbose": {
            "format": "[{asctime}] {levelname} {name} {module}.{funcName}:{lineno} — {message}",
            "style": "{",
        },
        "simple": {
            "format": "[{asctime}] {levelname} — {message}",
            "style": "{",
        },
    },
    "handlers": {
        "console": {
            "class": "logging.StreamHandler",
            "formatter": "verbose",
        },
        "file_debug": {
            "class": "logging.handlers.RotatingFileHandler",
            "filename": LOG_DIR / "debug.log",
            "maxBytes": 5 * 1024 * 1024,  # 5 MB
            "backupCount": 3,
            "formatter": "verbose",
            "level": "DEBUG",
        },
        "file_info": {
            "class": "logging.handlers.RotatingFileHandler",
            "filename": LOG_DIR / "info.log",
            "maxBytes": 5 * 1024 * 1024,
            "backupCount": 5,
            "formatter": "verbose",
            "level": "INFO",
        },
        "file_error": {
            "class": "logging.handlers.RotatingFileHandler",
            "filename": LOG_DIR / "error.log",
            "maxBytes": 5 * 1024 * 1024,
            "backupCount": 10,
            "formatter": "verbose",
            "level": "ERROR",
        },
    },
    "root": {
        "handlers": ["console", "file_debug"],
        "level": "DEBUG",
    },
    "loggers": {
        "django": {
            "handlers": ["console", "file_info"],
            "level": "INFO",
            "propagate": False,
        },
        "django.request": {
            "handlers": ["file_error"],
            "level": "ERROR",
            "propagate": False,
        },
        "apps": {
            "handlers": ["console", "file_debug", "file_info", "file_error"],
            "level": "DEBUG",
            "propagate": False,
        },
    },
}
