diff options
author | mathieui <mathieui@mathieui.net> | 2011-11-07 15:09:39 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2011-11-07 15:09:39 +0100 |
commit | d6b8ca50f2c046aa1248173f453b3804f40c479a (patch) | |
tree | 9a6d64a2c5a6c664a0f32416b53bed96f7073603 | |
parent | 1f3fafe15569c50fc877b5b24209e1d1214ae97a (diff) | |
download | poezio-d6b8ca50f2c046aa1248173f453b3804f40c479a.tar.gz poezio-d6b8ca50f2c046aa1248173f453b3804f40c479a.tar.bz2 poezio-d6b8ca50f2c046aa1248173f453b3804f40c479a.tar.xz poezio-d6b8ca50f2c046aa1248173f453b3804f40c479a.zip |
Remove first&last and only use "position" in plugins events
-rw-r--r-- | src/events.py | 11 | ||||
-rw-r--r-- | src/plugin.py | 4 | ||||
-rw-r--r-- | src/plugin_manager.py | 4 |
3 files changed, 8 insertions, 11 deletions
diff --git a/src/events.py b/src/events.py index d4fc8fc6..22d60ddf 100644 --- a/src/events.py +++ b/src/events.py @@ -30,23 +30,20 @@ class EventHandler(object): 'muc_msg': [], } - def add_event_handler(self, name, callback, first=True, last=False, position=None): + def add_event_handler(self, name, callback, position=0): """ Add a callback to a given event. Note that if that event name doesn’t exist, it just returns False. If it was successfully added, it returns True + position: 0 means insert a the beginning, -1 means end """ if name not in self.events: return False - if first: - self.events[name].insert(0, callback) - elif last: - self.events[name].append(callback) - elif position != None and isinstance(position, int): + if position >= 0: self.events[name].insert(position, callback) else: - self.events[name].insert(0, callback) + self.events[name].append(callback) return True diff --git a/src/plugin.py b/src/plugin.py index 0b4f3f3a..80bc4dfc 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -85,8 +85,8 @@ class BasePlugin(object, metaclass=SafetyMetaclass): def del_event_handler(self, event_name, handler): return self.plugin_manager.del_event_handler(self.__module__, event_name, handler) - def add_poezio_event_handler(self, event_name, handler, first=True, last=False, position=None): - return self.plugin_manager.add_poezio_event_handler(self.__module__, event_name, handler, first, last, position) + def add_poezio_event_handler(self, event_name, handler, position=0): + return self.plugin_manager.add_poezio_event_handler(self.__module__, event_name, handler, position) def del_poezio_event_handler(self, event_name, handler): return self.plugin_manager.del_poezio_event_handler(self.__module__, event_name, handler) diff --git a/src/plugin_manager.py b/src/plugin_manager.py index 37db3d13..bdf94a5b 100644 --- a/src/plugin_manager.py +++ b/src/plugin_manager.py @@ -107,10 +107,10 @@ class PluginManager(object): eh = self.event_handlers[module_name] eh = list(filter(lambda e : e != (event_name, handler), eh)) - def add_poezio_event_handler(self, module_name, event_name, handler, first, last, position): + def add_poezio_event_handler(self, module_name, event_name, handler, position): eh = self.poezio_event_handlers[module_name] eh.append(handler) - self.core.events.add_event_handler(event_name, handler, first, last, position) + self.core.events.add_event_handler(event_name, handler, position) def del_poezio_event_handler(self, module_name, event_name, handler): self.core.events.del_event_handler(None, handler) |