Skip to content

Commit 7774d3e

Browse files
committed
Refactors for conciseness
Also because Joel likes comprehensions
1 parent 1195e1e commit 7774d3e

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

packet/commands.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from . import app, db
1111
from .models import Freshman, Packet, FreshSignature, UpperSignature, MiscSignature
12-
from .ldap import ldap_get_eboard, ldap_get_active_members
12+
from .ldap import ldap_get_active_members, ldap_is_eboard, ldap_is_intromember
1313

1414

1515
@app.cli.command("create-secret")
@@ -113,8 +113,7 @@ def create_packets(freshmen_csv):
113113
end = datetime.combine(base_date, packet_end_time) + timedelta(days=14)
114114

115115
print("Fetching data from LDAP...")
116-
eboard = set(member.uid for member in ldap_get_eboard())
117-
all_upper = set(member.uid for member in ldap_get_active_members())
116+
all_upper = list(filter(lambda member: not ldap_is_intromember(member), ldap_get_active_members()))
118117

119118
# Create the new packets and the signatures for each freshman in the given CSV
120119
freshmen_in_csv = parse_csv(freshmen_csv)
@@ -124,7 +123,7 @@ def create_packets(freshmen_csv):
124123
db.session.add(packet)
125124

126125
for member in all_upper:
127-
db.session.add(UpperSignature(packet=packet, member=member, eboard=member in eboard))
126+
db.session.add(UpperSignature(packet=packet, member=member.uid, eboard=ldap_is_eboard(member)))
128127

129128
for onfloor_freshman in Freshman.query.filter_by(onfloor=True).filter(Freshman.rit_username !=
130129
freshman.rit_username).all():
@@ -140,14 +139,13 @@ def ldap_sync():
140139
Updates the upper and misc sigs in the DB to match ldap.
141140
"""
142141
print("Fetching data from LDAP...")
143-
eboard = set(member.uid for member in ldap_get_eboard())
144-
all_upper = set(member.uid for member in ldap_get_active_members())
142+
all_upper = {member.uid: member for member in filter(lambda member: not ldap_is_intromember(member), ldap_get_active_members())}
145143

146144
print("Applying updates to the DB...")
147145
for packet in Packet.query.filter(Packet.end > datetime.now()).all():
148146
# Update the eboard state of all UpperSignatures
149147
for sig in packet.upper_signatures:
150-
sig.eboard = sig.member in eboard
148+
sig.eboard = ldap_is_eboard(all_upper[sig.member])
151149

152150
# Migrate UpperSignatures that are from accounts that are not active anymore
153151
for sig in filter(lambda sig: sig.member not in all_upper, packet.upper_signatures):
@@ -164,7 +162,7 @@ def ldap_sync():
164162
# pylint: disable=cell-var-from-loop
165163
upper_sigs = set(map(lambda sig: sig.member, packet.upper_signatures))
166164
for member in filter(lambda member: member not in upper_sigs, all_upper):
167-
db.session.add(UpperSignature(packet=packet, member=member, eboard=member in eboard))
165+
db.session.add(UpperSignature(packet=packet, member=member, eboard=ldap_is_eboard(all_upper[member]))
168166

169167
db.session.commit()
170168
print("Done!")

0 commit comments

Comments
 (0)