Add population of __dict__
variable with __events__
, if present.
#26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I added the population of the
__dict__
variable with__events__
(if present), when theEvents
class is instantiated.I did this as I noticed an issue where events could be accessed via strings (e.g.,
events["on_my_event"]
) only if they had previously been accessed directly (i.e., though__getattr__
), which added them to the__dict__
variable. This fix works both for cases of directEvents
class instantiation (e.g.,events = Events(("on_one", "on_two"))
and subclassing(e.g.,
).
Note, the new
__dict__
variable is generated in the way it is (rather than just in a for loop) for two reasons:timeit
indicated it was (albeit only very slightly) faster