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>
This commit is contained in:
Adrian Tschira 2018-04-15 17:24:25 +02:00
parent 154b44c249
commit bfc2ade9b3

View File

@ -48,13 +48,22 @@ class _EventInternalMetadata(object):
def _event_dict_property(key): def _event_dict_property(key):
def getter(self): def getter(self):
try:
return self._event_dict[key] return self._event_dict[key]
except KeyError:
raise AttributeError(key)
def setter(self, v): def setter(self, v):
try:
self._event_dict[key] = v self._event_dict[key] = v
except KeyError:
raise AttributeError(key)
def delete(self): def delete(self):
try:
del self._event_dict[key] del self._event_dict[key]
except KeyError:
raise AttributeError(key)
return property( return property(
getter, getter,