Package lib :: Package config :: Module members
[hide private]
[frames] | no frames]

Source Code for Module lib.config.members

 1  import re 
 2   
 3   
4 -class Member:
5 - def __init__(self, nameid, name="", phone="", comment="", parent="", filters=None):
6 self.nameid = nameid 7 self.name = name 8 self.phone = phone 9 self.filters = filters 10 self.comment = comment 11 self.parent = parent
12
13 - def __str__(self):
14 ret = "Member Id: " + self.nameid + " Name: " + self.name + " Filters: " + str(self.phone) 15 for f in self.filters: 16 ret += str(f) 17 return ret
18 19
20 -class MemberFilter:
21 - def __init__(self, filt, Value):
22 self.filt = filt 23 self.value = Value
24
25 - def __str__(self):
26 return "Filter:" + str(self.filter) + " Value:" + self.value
27 28
29 -def parseMemberList(members, filters, log):
30 parsedMembers = [Member(nameid, **values) for nameid, values in members.items()] 31 for member in parsedMembers: 32 mFilter = [] 33 for filtername, replacement in member.filters.items(): 34 found = False 35 for filt in filters: 36 if filt.name != filtername: 37 continue 38 found = True 39 memberFilter = filt.clone() 40 memberFilter.command = re.sub('@member', replacement, filt.command) 41 mFilter.append(memberFilter) 42 if not found: 43 log.w("filter: " + filtername + " is not defined in member " + member.name) 44 member.filters = mFilter 45 return parsedMembers
46