1 import re
2
3
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
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
22 self.filt = filt
23 self.value = Value
24
26 return "Filter:" + str(self.filter) + " Value:" + self.value
27
28
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