diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2015-11-26 01:02:07 +0000 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2016-06-11 20:49:46 +0100 |
commit | bfb02d64a88bf9ca0bbd78cf389c9c648adbf725 (patch) | |
tree | 958c11b8287e80edc13ee19a14016e2db150c6ac /poezio/core/structs.py | |
parent | 721756c5c1512e05f44637afe22b25506889d62a (diff) | |
download | poezio-bfb02d64a88bf9ca0bbd78cf389c9c648adbf725.tar.gz poezio-bfb02d64a88bf9ca0bbd78cf389c9c648adbf725.tar.bz2 poezio-bfb02d64a88bf9ca0bbd78cf389c9c648adbf725.tar.xz poezio-bfb02d64a88bf9ca0bbd78cf389c9c648adbf725.zip |
Make poezio.core.struct more Cython-friendly.
Status and Command are now slotted classes instead of namedtuples,
which led to a few changes to access them with their named parameters
instead of as a tuple.
“short” being a C type, I renamed Command.short into
Command.short_desc, which is more explicit anyway.
I also renamed possible_show into POSSIBLE_SHOW, as it is a
module-level constant dict.
Diffstat (limited to 'poezio/core/structs.py')
-rw-r--r-- | poezio/core/structs.py | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/poezio/core/structs.py b/poezio/core/structs.py index 4ce0ef43..82effd48 100644 --- a/poezio/core/structs.py +++ b/poezio/core/structs.py @@ -1,7 +1,9 @@ """ Module defining structures useful to the core class and related methods """ -import collections + +__all__ = ['ERROR_AND_STATUS_CODES', 'DEPRECATED_ERRORS', 'POSSIBLE_SHOW', + 'Status', 'Command'] # http://xmpp.org/extensions/xep-0045.html#errorstatus ERROR_AND_STATUS_CODES = { @@ -36,14 +38,27 @@ DEPRECATED_ERRORS = { '510': 'Disconnected', } -possible_show = {'available':None, - 'chat':'chat', - 'away':'away', - 'afk':'away', - 'dnd':'dnd', - 'busy':'dnd', - 'xa':'xa' - } +POSSIBLE_SHOW = { + 'available': None, + 'chat': 'chat', + 'away': 'away', + 'afk': 'away', + 'dnd': 'dnd', + 'busy': 'dnd', + 'xa': 'xa' +} + +class Status: + __slots__ = ('show', 'message') + def __init__(self, show, message): + self.show = show + self.message = message -Status = collections.namedtuple('Status', 'show message') -Command = collections.namedtuple('Command', 'func desc comp short usage') +class Command: + __slots__ = ('func', 'desc', 'comp', 'short_desc', 'usage') + def __init__(self, func, desc, comp, short_desc, usage): + self.func = func + self.desc = desc + self.comp = comp + self.short_desc = short_desc + self.usage = usage |