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

Source Code for Module linspector.lib.config.members

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