comparison lxmldump.py @ 72:0849d65fabce

More work on improving help.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 09 Dec 2021 10:31:50 +0200
parents 8481f8f52a84
children 4e27677ca5a9
comparison
equal deleted inserted replaced
71:8481f8f52a84 72:0849d65fabce
485 super().print_help() 485 super().print_help()
486 486
487 print(u"\nAvailable output modes:") 487 print(u"\nAvailable output modes:")
488 print(" " + ", ".join(pkk_modes_list.values())) 488 print(" " + ", ".join(pkk_modes_list.values()))
489 489
490
491 def error(self, message): 490 def error(self, message):
492 self.print_help() 491 self.print_help()
493 sys.stderr.write(f"\nerror: {message}\n") 492 sys.stderr.write(f"\nerror: {message}\n")
494 sys.exit(2) 493 sys.exit(2)
495 494
498 optparser = PKKArgumentParser( 497 optparser = PKKArgumentParser(
499 usage="%(prog)s [options] <input xml file(s)>" 498 usage="%(prog)s [options] <input xml file(s)>"
500 ) 499 )
501 500
502 optparser.add_argument("filenames", 501 optparser.add_argument("filenames",
503 type=str, action="extend", nargs="+", 502 type=str, action="extend", nargs="*",
504 metavar="filename", 503 metavar="filename",
505 help="XML filename(s)") 504 help="XML filename(s)")
506 505
507 optparser.add_argument("-m", "--mode", 506 optparser.add_argument("-m", "--mode",
508 dest="mode", 507 dest="mode",
553 ### Parse arguments 552 ### Parse arguments
554 optparser = pkk_get_argparser() 553 optparser = pkk_get_argparser()
555 pkk_cfg = optparser.parse_args() 554 pkk_cfg = optparser.parse_args()
556 555
557 if pkk_cfg.list_values: 556 if pkk_cfg.list_values:
557 print(u"\nAvailable output modes:")
558 print(" " + ", ".join(pkk_modes_list.values()))
559
558 if pkk_cfg.mode not in [PKK_MODE_NORMAL, PKK_MODE_ANKI]: 560 if pkk_cfg.mode not in [PKK_MODE_NORMAL, PKK_MODE_ANKI]:
559 pkk_cfg.mode = PKK_MODE_NORMAL 561 pkk_cfg.mode = PKK_MODE_NORMAL
560 562
561 print(u"Available format strings and values (mode '{}'):".format( 563 print(u"\nAvailable format strings and values (mode '{}'):".format(
562 pkk_modes_list[pkk_cfg.mode])) 564 pkk_modes_list[pkk_cfg.mode]))
563 565
564 for mid in pkk_mode_defaults: 566 for mid in pkk_mode_defaults:
565 stmp = pkk_get_value(mid).replace("\\", "\\\\").replace("\n", "\\n") 567 stmp = pkk_get_value(mid).replace("\\", "\\\\").replace("\n", "\\n")
566 print(u" {:22s} : '{}'".format(mid, stmp)) 568 print(u" {:22s} : '{}'".format(mid, stmp))
569
570 sys.exit(0)
571
572 elif len(pkk_cfg.filenames) == 0:
573 optparser.print_help()
567 574
568 ### Handle each input file 575 ### Handle each input file
569 for filename in pkk_cfg.filenames: 576 for filename in pkk_cfg.filenames:
570 # Parse XML file into element tree 577 # Parse XML file into element tree
571 try: 578 try: