summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-05-26 10:35:08 +0100
committerMark Haines <mark.haines@matrix.org>2015-05-26 10:35:08 +0100
commit804b732aab3c7d285c6f976f1fd3e6088d0bdf28 (patch)
tree727416d33e2e91d47a3d18ac4623cd1eafe98d27
parentSYN-390: Don't modify the dictionary returned from the data store (diff)
downloadsynapse-804b732aab3c7d285c6f976f1fd3e6088d0bdf28.tar.xz
SYN-390: Don't modify the dictionary returned from the database here either
-rw-r--r--synapse/push/__init__.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/synapse/push/__init__.py b/synapse/push/__init__.py
index e3dd4ce76d..167b973b2b 100644
--- a/synapse/push/__init__.py
+++ b/synapse/push/__init__.py
@@ -74,15 +74,18 @@ class Pusher(object):
 
         rawrules = yield self.store.get_push_rules_for_user(self.user_name)
 
-        for r in rawrules:
-            r['conditions'] = json.loads(r['conditions'])
-            r['actions'] = json.loads(r['actions'])
+        rules = []
+        for rawrule in rawrules:
+            rule = dict(rawrules)
+            rule['conditions'] = json.loads(rawrule['conditions'])
+            rule['actions'] = json.loads(rawrule['actions'])
+            rules.append(rule)
 
         enabled_map = yield self.store.get_push_rules_enabled_for_user(self.user_name)
 
         user = UserID.from_string(self.user_name)
 
-        rules = baserules.list_with_base_rules(rawrules, user)
+        rules = baserules.list_with_base_rules(rules, user)
 
         room_id = ev['room_id']