# earlier.
# These are just variable assignments stored in a map.
-import time
+import time, os
expect = [
'tone',
else:
read_profile(p, "/data/profiles/"+t)
-def get_profile(event, who):
+def load_rules(file, p, event, who):
try:
- f = open("/data/rules")
+ f = open(file)
l = f.readlines()
except IOError:
l = []
- p = {}
for ln in l:
ln = ln.strip()
w = ln.split(':', 1)
if len(w) == 2 and rule_matches(w[0].strip(), event, who):
load_profile(p, w[1].strip())
+
+def get_profile(event, who):
+ p = {}
+ load_rules("/data/rules", p, event, who)
+ try:
+ d = os.listdir('/data/rules.d')
+ d = filter(lambda x: x[0] != '.', d)
+ d.sort()
+ for b in d:
+ load_rules(os.path.join('/data/rules.d',b), p, event, who)
+ except IOError:
+ pass
+ except OSError:
+ pass
return p
def rule_matches(rule, event, who):