From df624e7e29798b40200e9edce0dec1d524f8ddfc Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 5 Dec 2018 15:18:40 +0000 Subject: [PATCH] Don't do unnecessary work when someone tries to call a not-hooked-in-to event --- src/EventManager.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/EventManager.py b/src/EventManager.py index d5169f17..8d1430d9 100644 --- a/src/EventManager.py +++ b/src/EventManager.py @@ -179,13 +179,20 @@ class EventHook(object): def _call(self, kwargs: dict, safe: bool, maximum: typing.Optional[int] ) -> typing.List[typing.Any]: event_path = self._get_path() + hooks = self.get_hooks() + returns = [] + + if not hooks: + self.log.trace("not calling non-hooked event \"%s\" (params: %s)", + [event, path, kwargs] + return returns + self.log.trace("calling event: \"%s\" (params: %s)", [event_path,kwargs]) start = time.monotonic() event = self._make_event(kwargs) - returns = [] - for hook in self.get_hooks()[:maximum]: + for hook in hooks[:maximum]: if event.eaten: break try: