88
99
1010def _ldap_get_group_members (group ):
11+ """
12+ :return: A list of CSHMember instances
13+ """
1114 return _ldap .get_group (group ).get_members ()
1215
1316
1417def _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 )
2531def ldap_get_member (username ):
32+ """
33+ :return: A CSHMember instance
34+ """
2635 return _ldap .get_member (username , uid = True )
2736
2837
2938def 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
3346def 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
3754def 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
4768def 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