X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/1aba32fb351ba5c3063e38a65940283efa8e047d..321c1b02b1f0f93b82fe3ee84b895d68477ead8a:/modules/help.py?ds=sidebyside diff --git a/modules/help.py b/modules/help.py index 9c66731..6774fe4 100644 --- a/modules/help.py +++ b/modules/help.py @@ -24,6 +24,7 @@ def modstart(parent, *args, **kwargs): modstop = lib.modstop # module code +import functools import os.path helps = {} cmds = {} @@ -63,6 +64,7 @@ def dereghelp(func, *args, **kwargs): del cmds[c] del helps[func] +@functools.total_ordering class HelpLine(object): def __init__(self, cmd, syntax, shorthelp, admin, glevel, module, clevel): self.cmd = cmd @@ -73,6 +75,15 @@ class HelpLine(object): self.module = module self.clevel = clevel + def __lt__(self, other): + if self.glevel == other.glevel: + return self.cmd < other.cmd + else: + return self.glevel < other.glevel + + def __eq__(self, other): + return self.glevel == other.glevel and self.cmd == other.cmd + def __cmp__(self, other): if self.glevel == other.glevel: return cmp(self.cmd, other.cmd)