@@ -100,23 +100,18 @@ def create_packets(freshmen_csv):
100100 end = datetime .combine (base_date , time (hour = 23 , minute = 59 )) + timedelta (days = 14 )
101101
102102 print ("Fetching data from LDAP..." )
103- eboard = [member .uid for member in ldap_get_eboard ()]
104- onfloor = [member .uid for member in ldap_get_live_onfloor ()]
103+ eboard = set (member .uid for member in ldap_get_eboard ())
104+ onfloor = set (member .uid for member in ldap_get_live_onfloor ())
105+ all_upper = eboard .union (onfloor )
105106
106- freshmen_in_csv = parse_csv (freshmen_csv )
107-
108- # Create the new packets and the signatures
107+ # Create the new packets and the signatures for each freshman in the given CSV
109108 print ("Creating DB entries..." )
110- for freshman in freshmen_in_csv .values ():
111- packet = Packet (freshman = Freshman .query .filter_by (rit_username = freshman .rit_username ).first (), start = start ,
112- end = end )
109+ for freshman in Freshman .query .filter (Freshman .rit_username .in_ (parse_csv (freshmen_csv ))).all ():
110+ packet = Packet (freshman = freshman , start = start , end = end )
113111 db .session .add (packet )
114112
115- for username in eboard :
116- db .session .add (UpperSignature (packet = packet , member = username , eboard = True ))
117-
118- for username in onfloor :
119- db .session .add (UpperSignature (packet = packet , member = username ))
113+ for member in all_upper :
114+ db .session .add (UpperSignature (packet = packet , member = member , eboard = member in eboard ))
120115
121116 for onfloor_freshman in Freshman .query .filter_by (onfloor = True ).filter (Freshman .rit_username !=
122117 freshman .rit_username ).all ():
0 commit comments