diff --git a/oedp/src/parsers/oedp_parser.py b/oedp/src/parsers/oedp_parser.py index 667a8e300ff10dae5748a2766faf6ac523a4455c..a24fc9d7636f3a8614496e86e8b1c689e320b425 100644 --- a/oedp/src/parsers/oedp_parser.py +++ b/oedp/src/parsers/oedp_parser.py @@ -23,7 +23,6 @@ from src.commands.run.run_cmd import RunCmd from src.commands.repo.repo_cmd import RepoCmd from src.constants.const import VERSION from src.constants.paths import PLUGIN_DIR - from src.utils.command.command_executor import CommandExecutor @@ -33,19 +32,28 @@ class OeDeployParser: """ def __init__(self): - self.parser = argparse.ArgumentParser( - prog='oedp', - usage='%(prog)s []', - description='oeDeploy tool for openEuler.', - formatter_class=argparse.RawDescriptionHelpFormatter - ) - self.parser.add_argument('-v', '--version', action='version', version=f'oedp {self._get_version()}') + self.parser = self._create_main_parser() self.subparsers = self.parser.add_subparsers( dest='command', title='Available commands', required=True, metavar='' ) + self._setup_commands() + + def _create_main_parser(self): + """创建主解析器""" + parser = argparse.ArgumentParser( + prog='oedp', + usage='%(prog)s []', + description='oeDeploy tool for openEuler.', + formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument('-v', '--version', action='version', version=f'oedp {self._get_version()}') + return parser + + def _setup_commands(self): + """设置所有子命令""" self._add_init_command() self._add_list_command() self._add_info_command() @@ -344,4 +352,4 @@ class OeDeployParser: else: return VERSION except Exception: - return VERSION + return VERSION \ No newline at end of file