Skip to content

Commit cb85e61

Browse files
committed
Docs and refactoring for ldap.py
1 parent f9b26d8 commit cb85e61

File tree

1 file changed

+41
-9
lines changed

1 file changed

+41
-9
lines changed

packet/ldap.py

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,54 @@
88

99

1010
def _ldap_get_group_members(group):
11+
"""
12+
:return: A list of CSHMember instances
13+
"""
1114
return _ldap.get_group(group).get_members()
1215

1316

1417
def _ldap_is_member_of_group(member, group):
15-
group_list = member.get("memberOf")
16-
for group_dn in group_list:
18+
"""
19+
:param member: A CSHMember instance
20+
"""
21+
for group_dn in member.get("memberOf"):
1722
if group == group_dn.split(",")[0][3:]:
1823
return True
24+
1925
return False
2026

2127

2228
# Getters
2329

2430
@lru_cache(maxsize=256)
2531
def ldap_get_member(username):
32+
"""
33+
:return: A CSHMember instance
34+
"""
2635
return _ldap.get_member(username, uid=True)
2736

2837

2938
def ldap_get_active_members():
39+
"""
40+
Gets all current, dues-paying members
41+
:return: A list of CSHMember instances
42+
"""
3043
return _ldap_get_group_members("active")
3144

3245

3346
def ldap_get_intro_members():
47+
"""
48+
Gets all freshmen members
49+
:return: A list of CSHMember instances
50+
"""
3451
return _ldap_get_group_members("intromembers")
3552

3653

3754
def ldap_get_eboard():
55+
"""
56+
Gets all voting members of eboard
57+
:return: A list of CSHMember instances
58+
"""
3859
members = _ldap_get_group_members("eboard-chairman") + _ldap_get_group_members("eboard-evaluations"
3960
) + _ldap_get_group_members("eboard-financial") + _ldap_get_group_members("eboard-history"
4061
) + _ldap_get_group_members("eboard-imps") + _ldap_get_group_members("eboard-opcomm"
@@ -46,7 +67,8 @@ def ldap_get_eboard():
4667

4768
def ldap_get_live_onfloor():
4869
"""
49-
:return: All upperclassmen who live on floor and are not eboard
70+
All upperclassmen who live on floor and are not eboard
71+
:return: A list of CSHMember instances
5072
"""
5173
members = []
5274
onfloor = _ldap_get_group_members("onfloor")
@@ -59,15 +81,25 @@ def ldap_get_live_onfloor():
5981

6082
# Status checkers
6183

62-
def ldap_is_eboard(account):
63-
return _ldap_is_member_of_group(account, 'eboard')
84+
def ldap_is_eboard(member):
85+
"""
86+
:param member: A CSHMember instance
87+
"""
88+
return _ldap_is_member_of_group(member, "eboard")
89+
6490

91+
def ldap_is_intromember(member):
92+
"""
93+
:param member: A CSHMember instance
94+
"""
95+
return _ldap_is_member_of_group(member, "intromembers")
6596

66-
def ldap_is_intromember(account):
67-
return _ldap_is_member_of_group(account, 'intromembers')
6897

69-
def ldap_get_roomnumber(account):
98+
def ldap_get_roomnumber(member):
99+
"""
100+
:param member: A CSHMember instance
101+
"""
70102
try:
71-
return account.roomNumber
103+
return member.roomNumber
72104
except AttributeError:
73105
return None

0 commit comments

Comments
 (0)