Merge pull request #3102 from NotAFile/py3-attributeerror

Make event properties raise AttributeError instead
This commit is contained in:
Richard van der Hoff 2018-04-30 09:22:09 +01:00 committed by GitHub
commit 01e8a52825
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 3 deletions

View File

@ -47,14 +47,26 @@ class _EventInternalMetadata(object):
def _event_dict_property(key): def _event_dict_property(key):
# We want to be able to use hasattr with the event dict properties.
# However, (on python3) hasattr expects AttributeError to be raised. Hence,
# we need to transform the KeyError into an AttributeError
def getter(self): def getter(self):
return self._event_dict[key] try:
return self._event_dict[key]
except KeyError:
raise AttributeError(key)
def setter(self, v): def setter(self, v):
self._event_dict[key] = v try:
self._event_dict[key] = v
except KeyError:
raise AttributeError(key)
def delete(self): def delete(self):
del self._event_dict[key] try:
del self._event_dict[key]
except KeyError:
raise AttributeError(key)
return property( return property(
getter, getter,