summary refs log tree commit diff
path: root/synapse
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
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')
-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,