Skip to content
Snippets Groups Projects
Commit d7ba6a09 authored by wclo2's avatar wclo2
Browse files

make users

parent 5214a42c
No related branches found
No related tags found
No related merge requests found
import os
import sys
import random
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'flightmate.settings')
import django
django.setup()
from webapp.models import FlightRecords, RecordSet, Member, FlightSeg
def handleCSV(filename):
lineRead = 0
frid = 0
csvFile = open(filename)
lineList = []
finalList = []
for line in csvFile:
if not line:
break
lineRead += 1
if lineRead % 3 != 1:
continue
lineList = line.split(',')
if lineRead == 1:
keyList = lineList.copy()
#print(keyList)
else:
for j in range(len(keyList)):
if j == 0:
dict = {keyList[j]: lineList[j]}
else:
dict.update({keyList[j]: lineList[j]})
finalList.append(dict.copy())
if lineRead % 1000 == 0:
for r in finalList:
add_records(frid, r["Year"], r["Month"], r["DayofMonth"], r["Origin"], r["Dest"], r["DepTime"],
r["CRSDepTime"], r["ArrTime"], r["CRSArrTime"], r["DepDelay"], r["ArrDelay"],
r["UniqueCarrier"], r["FlightNum"])
frid += 1
finalList.clear()
print("inserted 1000 records")
csvFile.close()
def convertTime(time):
s = time.split(".")
hour = ""
minute = ""
if len(s[0]) == 3:
hour = s[0][:1]
minute = s[0][1:]
elif len(s[0]) == 4:
hour = s[0][:2]
minute = s[0][2:]
else:
hour = "00"
minute = s[0]
if len(s) == 1:
return hour + ":" + minute
else:
return hour + ":" + minute + "." + s[1]
nameList = ["AMELIA","OLIVIA","EMILY","AVA","ISLA","JESSICA","POPPY","ISABELLA","SOPHIE","MIA","RUBY","LILY","GRACE","EVIE","SOPHIA","ELLA","SCARLETT","CHLOE","ISABELLE","FREYA","CHARLOTTE","SIENNA","DAISY","PHOEBE","MILLIE","EVA","ALICE","LUCY","FLORENCE","SOFIA","LAYLA","LOLA","HOLLY","IMOGEN","MOLLY","MATILDA","LILLY","ROSIE","ELIZABETH","ERIN","MAISIE","LEXI","ELLIE","HANNAH","EVELYN","ABIGAIL","ELSIE","SUMMER","MEGAN","JASMINE","MAYA","AMELIE","LACEY","WILLOW","EMMA","BELLA","ELEANOR","ESME","ELIZA","GEORGIA","HARRIET","GRACIE","ANNABELLE","EMILIA","AMBER","IVY","BROOKE","ROSE","ANNA","ZARA","LEAH","MOLLIE","MARTHA","FAITH","HOLLIE","AMY","BETHANY","VIOLET","KATIE","MARYAM","FRANCESCA","JULIA","MARIA","DARCEY","ISABEL","TILLY","MADDISON","VICTORIA","ISOBEL","NIAMH","SKYE","MADISON","DARCY","AISHA","BEATRICE","SARAH","ZOE","PAIGE","HEIDI","LYDIA"]
userList = []
def createUsers():
for n in nameList:
m = Member.objects.create(name = n, birthday = "1999-10-18", gender = "male" if random.randint(0, 1) == 1 else "female",
email = (n + "@uiuc.edu"), password = "12345", profile = "111")
userList.append(m)
def add_records(frid, year, month, day, origin, dest, depart_time_actual, depart_time_scheduled,
arrival_time_actual, arrival_time_scheduled, dep_delay, arr_delay, airline, number):
depart_date = "{0:04d}-{1:02d}-{2:02d}".format(int(year), int(month), int(day))
depart_time_r = convertTime(depart_time_scheduled)[:6]
arrival_time_r = convertTime(arrival_time_scheduled)[:6]
if random.randint(0, 10000) == 0:
u = Member.objects.get(email = "123@uiuc.edu")
elif random.randint(0, 10000) == 0:
u = Member.objects.get(email = "456@uiuc.edu")
else:
u = userList[random.randint(0, len(userList)-1)]
r = FlightSeg.objects.create(origin = origin, dest = dest,
depart_time = (depart_date + " " + depart_time_r), arrival_time = (depart_date + " " + arrival_time_r),
airline = airline, flight_num = number, user = u)
r.save()
return r
def add_set():
attr = ["airline", "dest", "origin"]
for a in attr:
r = RecordSet.objects.get_or_create(name=a)[0]
r.name = a
objs = FlightRecords.objects.order_by(a).values(a).distinct()
posList = []
for o in objs:
posList.append(o[a])
r.value = "|".join(posList)
r.save()
#print(FlightRecords.objects.values('airline').distinct())
""""
def populate(filename):
while True:
recordList = handleCSV(filename)
if len(recordList) == 0:
break
frid = 0
numRecords = 0
for r in recordList:
add_records(frid, r["Year"], r["Month"], r["DayofMonth"], r["Origin"], r["Dest"], r["DepTime"],
r["CRSDepTime"], r["ArrTime"], r["CRSArrTime"], r["DepDelay"], r["ArrDelay"],
r["UniqueCarrier"], r["FlightNum"])
frid += 1
# print(frid)
numRecords += 1
if numRecords % 1000 == 0:
print("inserted 1000 records")
#add_set()
"""
if __name__ == '__main__':
print("Starting populating DB...")
createUsers()
handleCSV(sys.argv[1])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment