summary refs log tree commit diff
path: root/synapse/events/__init__.py
diff options
context:
space:
mode:
authorAdrian Tschira <nota@notafile.com>2018-04-15 17:24:25 +0200
committerAdrian Tschira <nota@notafile.com>2018-04-15 20:16:59 +0200
commitbfc2ade9b3784469a5f7b80119fbd1679b6268c8 (patch)
tree43bc1165789efdf0b7e8149e1f89416713d385b3 /synapse/events/__init__.py
parentMerge branch 'master' of https://github.com/matrix-org/synapse into develop (diff)
downloadsynapse-bfc2ade9b3784469a5f7b80119fbd1679b6268c8.tar.xz
Make event properties raise AttributeError instead
They raised KeyError before. I'm changing this because the code uses
hasattr() to check for the presence of a key. This worked accidentally
before, because hasattr() silences all exceptions in python 2. However,
in python3, this isn't the case anymore.

I had a look around to see if anything depended on this raising a
KeyError and I couldn't find anything. Of course, I could have simply
missed it.

Signed-off-by: Adrian Tschira <nota@notafile.com>
Diffstat (limited to 'synapse/events/__init__.py')
-rw-r--r--synapse/events/__init__.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py
index e673e96cc0..d4d1b92f7a 100644
--- a/synapse/events/__init__.py
+++ b/synapse/events/__init__.py
@@ -48,13 +48,22 @@ class _EventInternalMetadata(object):
 
 def _event_dict_property(key):
     def getter(self):
-        return self._event_dict[key]
+        try:
+            return self._event_dict[key]
+        except KeyError:
+            raise AttributeError(key)
 
     def setter(self, v):
-        self._event_dict[key] = v
+        try:
+            self._event_dict[key] = v
+        except KeyError:
+            raise AttributeError(key)
 
     def delete(self):
-        del self._event_dict[key]
+        try:
+            del self._event_dict[key]
+        except KeyError:
+            raise AttributeError(key)
 
     return property(
         getter,