2 from optparse import make_option
4 from django.core.management.base import BaseCommand, CommandError
5 from django.utils.text import slugify
7 from ...models import User, Emission
10 class Command(BaseCommand):
13 def handle(self, filename, verbosity, **kwargs):
14 self.verbose = (verbosity > 1)
15 for line in csv.reader(file(filename)):
16 lastname, firstname, email = [unicode(x.strip(), 'utf-8') for x in line[:3]]
17 emission_slugs = [x.strip().lower() for x in line[6:] if x]
18 if not email or not emission_slugs:
20 if firstname and lastname:
21 username = slugify(u'%s-%s' % (firstname, lastname))
22 elif firstname or lastname:
23 username = slugify(firstname or lastname)
27 print username, email, emission_slugs
29 user = User.objects.get(username=username)
30 except User.DoesNotExist:
31 user = User.objects.create_user(username, email)
32 user.set_password('panik')
33 user.first_name = firstname
34 user.last_name = lastname
36 for slug in emission_slugs:
38 emissions.append(Emission.objects.get(slug=slug))
39 except Emission.DoesNotExist:
40 print 'E: missing emission:', slug
41 user.emissions = emissions