def command(self, rule, **options):
        """\
        direct=False, override=True, inject=False, flags=0
        """
        options.setdefault("direct", False)
        options.setdefault("override", True)
        options.setdefault("inject", False)
        options.setdefault("flags", 0)
        if not options["direct"]:
            rule = self.regexy(rule)
        regex = re.compile(rule, flags=options["flags"])
        self.handlers.setdefault(regex, [])
        def handler(f):
            if f == noop:
                f.options = {}
            else:
                f.options = options
            if options["override"]:
                self.handlers[regex] = [f]
            else:
                self.handlers[regex].append(f)
            f.no_args = self.no_args(f)
            return f
        return handler
def command ( self , rule , ** options ) : options . setdefault ( "direct" , False ) options . setdefault ( "override" , True ) options . setdefault ( "inject" , False ) options . setdefault ( "flags" , 0 ) if not options [ "direct" ] : rule = self . regexy ( rule ) regex = re . compile ( rule , flags = options [ "flags" ] ) self . handlers . setdefault ( regex , [ ] ) def handler ( f ) : if f == noop : f . options = { } else : f . options = options if options [ "override" ] : self . handlers [ regex ] = [ f ] else : self . handlers [ regex ] . append ( f ) f . no_args = self . no_args ( f ) return f return handler
\
        direct=False, override=True, inject=False, flags=0