import requests

def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        return x_forwarded_for.split(',')[0]
    return request.META.get('REMOTE_ADDR')


import logging
import requests

logger = logging.getLogger(__name__)

def get_location(ip):
    try:
        logger.info(f"Looking up location for IP: {ip}")

        res = requests.get(f"http://ip-api.com/json/{ip}", timeout=5)
        data = res.json()

        logger.info(f"IP-API Response: {data}")

        if data.get("status") == "success":
            city = data.get("city")
            country = data.get("country")
            logger.info(f"Location found: city={city}, country={country}")
            return city, country

        logger.warning(f"IP lookup failed for {ip}: {data}")
        return "Unknown", "Unknown"

    except Exception as e:
        logger.exception(f"Error looking up location for IP {ip}: {e}")
        return "Unknown", "Unknown"