diff options
author | Adrian Tschira <nota@notafile.com> | 2018-04-15 17:24:25 +0200 |
---|---|---|
committer | Adrian Tschira <nota@notafile.com> | 2018-04-15 20:16:59 +0200 |
commit | bfc2ade9b3784469a5f7b80119fbd1679b6268c8 (patch) | |
tree | 43bc1165789efdf0b7e8149e1f89416713d385b3 /synapse/events | |
parent | Merge branch 'master' of https://github.com/matrix-org/synapse into develop (diff) | |
download | synapse-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')
-rw-r--r-- | synapse/events/__init__.py | 15 |
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, |