Port print arguments -q/-a/-S from main to restructuring.
This commit is contained in:
parent
7cf62c54ef
commit
d22877a0f1
@ -13,7 +13,15 @@ def print_cmd(args: argparse.Namespace, config: Config) -> None:
|
|||||||
try:
|
try:
|
||||||
message = Message.from_file(fname)
|
message = Message.from_file(fname)
|
||||||
if message:
|
if message:
|
||||||
print(message.to_str(source_code_only=args.source_code_only))
|
if args.question:
|
||||||
|
print(message.question)
|
||||||
|
elif args.answer:
|
||||||
|
print(message.answer)
|
||||||
|
elif message.answer and args.only_source_code:
|
||||||
|
for code in message.answer.source_code():
|
||||||
|
print(code)
|
||||||
|
else:
|
||||||
|
print(message.to_str())
|
||||||
except MessageError:
|
except MessageError:
|
||||||
print(f"File is not a valid message: {args.file}")
|
print(f"File is not a valid message: {args.file}")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|||||||
@ -113,8 +113,10 @@ def create_parser() -> argparse.ArgumentParser:
|
|||||||
aliases=['p'])
|
aliases=['p'])
|
||||||
print_cmd_parser.set_defaults(func=print_cmd)
|
print_cmd_parser.set_defaults(func=print_cmd)
|
||||||
print_cmd_parser.add_argument('-f', '--file', help='File to print', required=True)
|
print_cmd_parser.add_argument('-f', '--file', help='File to print', required=True)
|
||||||
print_cmd_parser.add_argument('-S', '--source-code-only', help='Print source code only (from the answer, if available)',
|
print_cmd_modes = print_cmd_parser.add_mutually_exclusive_group()
|
||||||
action='store_true')
|
print_cmd_modes.add_argument('-q', '--question', help='Print only question', action='store_true')
|
||||||
|
print_cmd_modes.add_argument('-a', '--answer', help='Print only answer', action='store_true')
|
||||||
|
print_cmd_modes.add_argument('-S', '--only-source-code', help='Print only source code', action='store_true')
|
||||||
|
|
||||||
argcomplete.autocomplete(parser)
|
argcomplete.autocomplete(parser)
|
||||||
return parser
|
return parser
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user