def create_argparser(self, command):
try:
argparse_args = getattr(self, "argparse_" + command)
except AttributeError:
return None
doc_lines = getattr(self, "do_" + command).__doc__.expandtabs().splitlines()
if '' in doc_lines:
blank_idx = doc_lines.index('')
usage = doc_lines[:blank_idx]
description = doc_lines[blank_idx+1:]
else:
usage = doc_lines
description = []
parser = argparse.ArgumentParser(
prog=command,
usage='\n'.join(usage),
description='\n'.join(description)
)
for args, kwargs in argparse_args:
parser.add_argument(*args, **kwargs)
return parser
评论列表
文章目录