from io import BytesIO
from PIL import Image
from django.core.files import File
from authenticate import conf



def get_client_ip(request):
    """
    This function is responsible for getting client ip.
    it takes user request and returns the his ip.
    """
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip


def replace_phone_persian_digits_with_english_digits(phone):
    convert_dict = {
        '۰': '0',
        '۱': '1',
        '۲': '2',
        '۳': '3',
        '۴': '4',
        '۵': '5',
        '۶': '6',
        '۷': '7',
        '۸': '8',
        '۹': '9',
    }
    for fa, en in convert_dict.items():
        phone = phone.replace(fa, en)
    return phone


def iran_phone_number_modifier(phone):
    if not phone.startswith('0'):
        phone = f'0{phone}'
    return phone



