#!/usr/bin/python
# -*- coding:utf-8 -*-

# Author: Pablo Saavedra Rodinho
# Contact: pablo.saavedra@interoud.com

import os
import sys
import time
import calendar
import dateutil
import json

reload(sys)
sys.setdefaultencoding('utf-8')
print sys.getdefaultencoding()

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

from optparse import OptionParser
from liver.models import Recording
import logging
logger = logging.getLogger("liver")

def to_timestamp(date_txt):
    return int(calendar.timegm(dateutil.parser.parse(date_txt).utctimetuple()))

parser = OptionParser()
(options, args) = parser.parse_args()

now_milliseconds = int(time.time())

for r in Recording.objects.filter(to_delete=False).iterator():
    try:
        try:
            licensing_window_end = \
              to_timestamp(json.loads(r.metadata_json)["licensing_window_end"])
            if now_milliseconds > licensing_window_end :
                logger.info ( "Set recording %s to be deleted" % r)
                r.to_delete = True
                r.save()
        except Exception as e:
            logger.error("No licensing_window_end found" % e)
    except Exception as e:
        logger.error( "Error deleting asset: %s" % e)
