from django.contrib.auth import get_user_model

User = get_user_model()

from django.conf import settings

from django.template.loader import render_to_string

from django.core.mail import send_mail

from msg91_otp.client import OTPClient 


def send_login_to_user(username, current_otp,name):
    print('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>kkkkkkkkkkkkkkkkkkkkk')
    msg_plain = 'Magazine'
    subject = 'Magazine Reader Genrate otp'
    from_email = settings.EMAIL_HOST_USER
    email_to = username
    msg_html = render_to_string('base/login.html', {'name': name,'otp':current_otp,})
    send_mail(subject, msg_plain, from_email, [email_to], html_message=msg_html)
    return True

def send_register_to_user(username, current_otp,name):
    print('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>kkkkkkkkkkkkkkkkkkkkk')
    msg_plain = 'Magazine'
    subject = 'Magazine Reader Genrate otp'
    from_email = settings.EMAIL_HOST_USER
    email_to = username
    msg_html = render_to_string('base/register.html', {'name': name,'otp':current_otp,})
    send_mail(subject, msg_plain, from_email, [email_to], html_message=msg_html)
    return True

def send_resendotp_to_user(username, current_otp,name):
    print('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>kkkkkkkkkkkkkkkkkkkkk')
    msg_plain = 'Magazine'
    subject = 'Magazine Reader Genrate otp'
    from_email = settings.EMAIL_HOST_USER
    email_to = username
    msg_html = render_to_string('base/resendotp.html', {'name': name,'otp':current_otp,})
    send_mail(subject, msg_plain, from_email, [email_to], html_message=msg_html)
    return True

### Mobile Send Otp for verification.
def send_mobile_otp_to_user(user_mobile, otp):
    try:
        auth_key = settings.MOBILE_AUTH_KEY
        otp_client = OTPClient(auth_key)
        sender = settings.MOBILE_SMS_SENDER
        message = settings.MOBILE_MESSAGE
        receiver = user_mobile
        service_response = otp_client.send_otp(receiver, sender=sender, message=message)
        service_response = otp_client.send_otp(receiver, otp=otp)
        print (service_response.status, service_response.message)
    except Exception as e:
        print(e)

# import requests
# ### If image is not found then return custom image.
# def get_custom_image_url(image):
#     img = 'https://staging.mfahmagazine.net/magazine_api/magazine_web_admin/media/cover_pic/No_Image.jpg'
#     try:
#         img_res = requests.get(image)
#         if img_res.status_code == 200:
#             return image
#         else:
#             return img
#     except Exception:
#         return img
        

     
    