Spaces:
Paused
Paused
| from abc import ABC, abstractmethod | |
| from argparse import ArgumentParser, _SubParsersAction, Namespace | |
| class Subcommand(ABC): | |
| COMMAND: str | |
| HELP: str | None = None | |
| def add(cls, subparsers: _SubParsersAction, parents) -> ArgumentParser: | |
| parser = subparsers.add_parser(cls.COMMAND, help=cls.HELP, parents=parents) | |
| cls.add_args(parser).set_defaults(func=cls.func) | |
| return parser | |
| def add_args(cls, parser: ArgumentParser) -> ArgumentParser: | |
| pass | |
| def func(cls, args: Namespace): | |
| pass | |