def make_rst(self):
        module, class_name = self.arguments[0].rsplit('.', 1)
        arguments = self.arguments[1:]
        obj = import_object(module, class_name)
        is_configurable = ':no-config:' not in arguments
        is_commandable = ':no-commands:' not in arguments
        arguments = [i for i in arguments if (':no-config:', ':no-commands:') not in i]

        # build up a dict of defaults using reverse MRO
        defaults = {}
        for klass in reversed(obj.mro()):
            if not issubclass(klass, configurable.Configurable):
                continue
            if not hasattr(klass, "defaults"):
                continue
            klass_defaults = getattr(klass, "defaults")
            defaults.update({
                d[0]: d[1:] for d in klass_defaults
            })
        # turn the dict into a list of ("value", "default", "description") tuples
        defaults = [
            (k, v[0], v[1]) for k, v in sorted(defaults.items())
        ]

        context = {
            'module': module,
            'class_name': class_name,
            'class_underline': "=" * len(class_name),
            'obj': obj,
            'defaults': defaults,
            'configurable': is_configurable and issubclass(obj, configurable.Configurable),
            'commandable': is_commandable and issubclass(obj, command.CommandObject),
            'is_widget': issubclass(obj, widget.base._Widget),
            'extra_arguments': arguments,
        }
        if context['commandable']:
            context['commands'] = [attr for attr in dir(obj)
                if attr.startswith('cmd_')]

        rst = qtile_class_template.render(**context)
        for line in rst.splitlines():
            yield line
dataset/ETHPy150Open qtile/qtile/docs/sphinx_qtile.py/QtileClass.make_rst/swapped operands of `not in`