필수 과제
선택 과제
-
python-openstackclient\openstackclient\shell.py
OpenStackShell().run(argv)
실행 -
osc-lib\osc_lib\shell.py
super().run(argv)
실행 -
python-openstackclient.venv\Lib\site-packages\cliff\app.py
self.run.subcommand(remainder)
실행 -
osc-lib\osc_lib\shell.py
super().run_subcommand(argv)
실행 -
python-openstackclient.venv\Lib\site-packages\cliff\app.py
self.command_manager.find_command(argv)
: 사용자가 입력한 명령어(server list)를 처리할 Command 클래스(ListServer) 찾기
cmd_factory(self, self.options, **kwargs)
: Command 클래스를 인스턴스화하여 cmd 객체 생성
cmd.get_parser(full_name)
: cmd(ListServer)가 가지고 있는 get_parser()를 통해 server list 명령어가 지원하는 옵션/인자들을 처리할 수 있는 ArgumentParser 생성
parsed_args = cmd_parser.parse_args(sub_argv)
: ArgumentParser를 이용해서 명령어 뒤에 입력된 실제 인자들(sub_argv)을 Namespace로 파싱
cmd.run(parsed_args)
실행 -
osc-lib\osc_lib\command\command.py
super().run(parsed_args)
실행 -
python-openstackclient.venv\Lib\site-packages\cliff\display.py
self.take_action(parsed_args)
실행 (self: ListServer) -
python-openstackclient\openstackclient\compute\v2\server.py
ListServer.take_action()
실행