1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth import get_user_model
from dispatch.models import Company, Contact, Load
import yaml
User = get_user_model()
class Command(BaseCommand):
help = "Import Objects from a YML file"
def add_arguments(self, parser):
parser.add_argument('--file', type=str, dest='filename')
def handle(self, *args, **options):
yml_data = open(options['filename']).read()
parsed = yaml.load(yml_data)
self.parse_users(parsed['users'])
self.parse_loads(parsed['loads'])
def parse_loads(self, loads):
for l in loads:
try:
new_user = Load(
load_number=u['load_number'],
date=u['date'],
user=u['user_email'],
user=u['user'],
)
new_user.save()
except:
print("Error on user %s" % u['email'])
def parse_users(self, users):
for u in users:
try:
new_user = User(
first_name=u['firstName'],
last_name=u['lastName'],
email=u['email'],
username=u['firstName']
is_active=u['active']
)
new_user.save()
except:
print("Error on user %s" % u['email'])
|