some code...
This commit is contained in:
parent
f9c99d4070
commit
cac342582b
19 changed files with 788 additions and 0 deletions
44
lib/config/members.py
Normal file
44
lib/config/members.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import re
|
||||
|
||||
|
||||
class Member:
|
||||
def __init__(self, nameid, name="", phone="", comment="", parent="", filters=None):
|
||||
self.nameid = nameid
|
||||
self.name = name
|
||||
self.phone = phone
|
||||
self.filters = filters
|
||||
self.comment = comment
|
||||
self.parent = parent
|
||||
|
||||
def __str__(self):
|
||||
ret = "Member Id: " + self.nameid + " Name: " + self.name + " Filters: " + str(self.phone)
|
||||
for f in self.filters:
|
||||
ret += str(f)
|
||||
return ret
|
||||
|
||||
|
||||
class MemberFilter:
|
||||
def __init__(self, filt, Value):
|
||||
self.filt = filt
|
||||
self.value = Value
|
||||
|
||||
def __str__(self):
|
||||
return "Filter:" + str(self.filter) + " Value:" + self.value
|
||||
|
||||
|
||||
def parseMemberList(members, filters):
|
||||
parsedMembers = [Member(nameid, **values) for nameid, values in members.items()]
|
||||
for member in parsedMembers:
|
||||
mFilter = []
|
||||
for filtername, replacement in member.filters.items():
|
||||
found = False
|
||||
for filt in filters:
|
||||
if filt.name != filtername: continue
|
||||
found = True
|
||||
memberFilter = filt.clone()
|
||||
memberFilter.command = re.sub('@member', replacement, filt.command)
|
||||
mFilter.append(memberFilter)
|
||||
if not found:
|
||||
print "warning: filter: " + filtername + " is not defined in member " + member.name
|
||||
member.filters = mFilter
|
||||
return parsedMembers
|
||||
Loading…
Add table
Add a link
Reference in a new issue