try out django
[mlpccg-meta.git] / meta / management / commands / csvimport.py
1 from django.core.management.base import BaseCommand, CommandError
2 from meta.models import DeckListModel, TournamentModel, RecordModel
3 from datetime import datetime
4
5 import csv
6
7 class Command(BaseCommand):
8 args = ''
9 help = 'Import tournament data from CSV'
10
11 def handle(self, *args, **options):
12 with open('data/tournaments.csv') as f:
13 for row in csv.DictReader(f, delimiter=','):
14 try:
15 tournament = TournamentModel.objects.get(name__iexact=row['name'])
16 except TournamentModel.DoesNotExist:
17 tournament = TournamentModel(name=row['name'], date=datetime.strptime(row['date'], '%Y-%m-%d'))
18 tournament.save()
19
20 decklist = DeckListModel(name=row['decklist_name'], url=row['decklist_url'])
21 decklist.save()
22
23 record = RecordModel(placement=int(row['placement']), tournament=tournament, decklist=decklist, verified=True)
24 record.save()