diff options
author | Erik Johnston <erik@matrix.org> | 2015-05-26 10:20:36 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-05-26 10:20:36 +0100 |
commit | 9ba3c1ede402dea1a720e5aece548c111c020d53 (patch) | |
tree | fdb527eb537db9c16159904832b6e5268dffdbed /synapse/rest/client/v1/push_rule.py | |
parent | Merge pull request #163 from matrix-org/markjh/presence_list_cache (diff) | |
parent | SYN-390: Don't modify the dictionary returned from the data store (diff) | |
download | synapse-9ba3c1ede402dea1a720e5aece548c111c020d53.tar.xz |
Merge pull request #165 from matrix-org/bugs/SYN-390
SYN-390: Don't modify the dictionary returned from the data store
Diffstat (limited to 'synapse/rest/client/v1/push_rule.py')
-rw-r--r-- | synapse/rest/client/v1/push_rule.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/synapse/rest/client/v1/push_rule.py b/synapse/rest/client/v1/push_rule.py index d4e7ab2202..bd759a2589 100644 --- a/synapse/rest/client/v1/push_rule.py +++ b/synapse/rest/client/v1/push_rule.py @@ -118,11 +118,14 @@ class PushRuleRestServlet(ClientV1RestServlet): user.to_string() ) - for r in rawrules: - r["conditions"] = json.loads(r["conditions"]) - r["actions"] = json.loads(r["actions"]) - - ruleslist = baserules.list_with_base_rules(rawrules, user) + ruleslist = [] + for rawrule in rawrules: + rule = dict(rawrule) + rule["conditions"] = json.loads(rawrule["conditions"]) + rule["actions"] = json.loads(rawrule["actions"]) + ruleslist.append(rule) + + ruleslist = baserules.list_with_base_rules(ruleslist, user) rules = {'global': {}, 'device': {}} |