in the following code, Command is an instance of the CommandType class. Why can an instance of the class be inherited by the Help class?
class CommandType (type):
def __init__(cls, name, bases, attrs):
super(CommandType, cls).__init__(name, bases, attrs)
name = getattr(cls, name, cls.__name__.lower())
cls.name = name
if name != "command":
commands[name] = cls
Command = CommandType ("Command", (object,), {" run": lambda self, args: None})
class Help ( Command ):
def run(self, args):
print("Available commands:\n")
names = list(commands)
padding = max([len(k) for k in names]) + 2
for k in sorted(names):
name = k.ljust(padding, " ")
doc = (commands[k].__doc__ or "").strip()
print(" %s%s" % (name, doc))
print("\nUse "%s <command> --help" for individual command help." %
sys.argv[0].split(os.path.sep)[-1])