From 804b732aab3c7d285c6f976f1fd3e6088d0bdf28 Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 26 May 2015 10:35:08 +0100 Subject: [PATCH] SYN-390: Don't modify the dictionary returned from the database here either --- synapse/push/__init__.py | 11 +++++++---- 1 file 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']