from __future__ import annotations from .Cmd import Cmd, Parent from typing import TYPE_CHECKING, override if TYPE_CHECKING: from argparse import ArgumentParser, Namespace class CmdCommands(Cmd): # export def __init__(self, parent: Parent) -> None: super().__init__(parent, 'commands', help = 'List available commands') @override def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) @override async def _run(self, args: Namespace) -> None: import glob import os import re this_dir = os.path.dirname(__file__) ret = [] for file_name in glob.glob('Cmd*.py', root_dir = this_dir): cc_name = re.sub(r'^Cmd|\.py', '', file_name) name = re.sub(r'(?