import os
import sys
import io
import socket

# Forzar IPv4 para todas las conexiones salientes (el servidor no soporta IPv6)
# Sin esto, el refresh del token de Google Drive agota el timeout intentando IPv6
_orig_getaddrinfo = socket.getaddrinfo
def _ipv4_only(host, port, family=0, type=0, proto=0, flags=0):
    return _orig_getaddrinfo(host, port, socket.AF_INET, type, proto, flags)
socket.getaddrinfo = _ipv4_only

# Forzar UTF-8 en stderr para evitar UnicodeEncodeError en logs de cPanel
if hasattr(sys.stderr, 'buffer'):
    sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8', errors='replace')

sys.path.insert(0, os.path.dirname(__file__))
os.environ['DJANGO_SETTINGS_MODULE'] = 'sistema_titulacion.settings'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()