# -*- coding: utf-8 -*-
# igor.models

from django.db import models
from django.template.loader import get_template

from people.models import Person


def Make_Hash():
    import datetime
    now = datetime.datetime.now()
    import base64
    the_id = base64.b64encode(bytes(str(now), encoding="utf-8")).decode()
    return the_id[-13:-3]


class Download(models.Model):
    person = models.ForeignKey(Person, on_delete=models.CASCADE)
    sent = models.DateTimeField(auto_now=True)
    key = models.CharField(max_length=10, default=Make_Hash)
    retrieved = models.DateTimeField(auto_now=False, null=True, blank=True)

    def __str__(self):
        return "{0}, {1}".format(self.sent, self.person)

    def send(self):
        address = self.person.email
        if False:
            message = get_template('igor/serial.txt')
            body = message.render({'KEY': self.key})
        else:
            message = get_template('igor/key.txt')
            body = message.render({'KEY': self.key})

        from django.core.mail import send_mail
        try:
            send_mail('Igor Pro License Information', body,
                      'saeta@g.hmc.edu', [address], fail_silently=False)
        except:
            pass


def test():
    print("Testing Make_Hash(): {0}".format(Make_Hash()))
