Skip to content

Commit 5c80131

Browse files
committed
Optimized and improved the create-packets command
1 parent 22471bb commit 5c80131

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

packet/commands.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)