from django.core.management.base import BaseCommand, CommandError
from django.conf import settings
from modules.cpd.models import *
from modules.members.models import Member

import requests, csv, StringIO, datetime
import dateutil.parser

url = "https://docs.google.com/spreadsheets/d/147aO5I2s3E0_U42-vCOMGlKeh9gp694Og-h1qWHRU5o/pub?output=csv"

class Command(BaseCommand):
    help = 'Importing CPD things'

    def handle(self, *args, **options):
        response = requests.get(url)
        reader = csv.reader(StringIO.StringIO(response.text), csv.excel)

        for first_name, last_name, id, random_stuff, name, points, date in reader:
            # Attempt to match member
            try:
                member = Member.objects.get(user__first_name=first_name, user__last_name=last_name)
            except:
                print 'Unable to member %s %s' % (first_name, last_name)
                continue

            cpd = CPDSubmission()
            cpd.member = member
            cpd.created = dateutil.parser.parse(date) #datetime.datetime.strptime(date, '%d/%m/%Y %I:%M:%S')
            cpd.date = dateutil.parser.parse(date) #datetime.date.strptime(date, '%d/%m/%Y')
            cpd.approved = True
            cpd.activity_name = name
            cpd.points_value = points
            cpd.save()
            cpd.created = dateutil.parser.parse(date) #datetime.datetime.strptime(date, '%d/%m/%Y %I:%M:%S')
            cpd.date = dateutil.parser.parse(date) #datetime.date.strptime(date, '%d/%m/%Y')
            cpd.save()
