summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/help.py
diff options
context:
space:
mode:
authorAndreas J. Reichel <andreas.reichel@tngtech.com>2017-04-21 14:11:42 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-05-23 17:45:35 +0100
commit05aa049e2c314731385e1d18b5fd6e1f1e63ea8f (patch)
tree52fdc4d1356ed6106ca1d653b56fbae632129734 /scripts/lib/wic/help.py
parentef506f58da3a95fba2696df749b2b81f9c118847 (diff)
downloadpoky-05aa049e2c314731385e1d18b5fd6e1f1e63ea8f.tar.gz
wic: Use argparse instead of optparse
* optparse is deprecated and will not be developed further (see: https://docs.python.org/2/library/optparse.html) * argparse supports subcommands, which simplifies definition of arguments and options * reimplement help mechanism through sub-subcommands [YOCTO #9636] (From OE-Core rev: 4fe9635c72a6ee1becc47d832ab54724176ee811) Signed-off-by: Andreas Reichel <andreas.reichel.ext@siemens.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Daniel Wagner <daniel.wagner@siemens.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic/help.py')
-rw-r--r--scripts/lib/wic/help.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
index d6e027d253..74db05cb94 100644
--- a/scripts/lib/wic/help.py
+++ b/scripts/lib/wic/help.py
@@ -56,7 +56,7 @@ def wic_help(args, usage_str, subcommands):
56 """ 56 """
57 Subcommand help dispatcher. 57 Subcommand help dispatcher.
58 """ 58 """
59 if len(args) == 1 or not display_help(args[1], subcommands): 59 if args.help_topic == None or not display_help(args.help_topic, subcommands):
60 print(usage_str) 60 print(usage_str)
61 61
62 62
@@ -82,19 +82,20 @@ def invoke_subcommand(args, parser, main_command_usage, subcommands):
82 Dispatch to subcommand handler borrowed from combo-layer. 82 Dispatch to subcommand handler borrowed from combo-layer.
83 Should use argparse, but has to work in 2.6. 83 Should use argparse, but has to work in 2.6.
84 """ 84 """
85 if not args: 85 if not args.command:
86 logger.error("No subcommand specified, exiting") 86 logger.error("No subcommand specified, exiting")
87 parser.print_help() 87 parser.print_help()
88 return 1 88 return 1
89 elif args[0] == "help": 89 elif args.command == "help":
90 wic_help(args, main_command_usage, subcommands) 90 wic_help(args, main_command_usage, subcommands)
91 elif args[0] not in subcommands: 91 elif args.command not in subcommands:
92 logger.error("Unsupported subcommand %s, exiting\n", args[0]) 92 logger.error("Unsupported subcommand %s, exiting\n", args.command)
93 parser.print_help() 93 parser.print_help()
94 return 1 94 return 1
95 else: 95 else:
96 usage = subcommands.get(args[0], subcommand_error)[1] 96 subcmd = subcommands.get(args.command, subcommand_error)
97 subcommands.get(args[0], subcommand_error)[0](args[1:], usage) 97 usage = subcmd[1]
98 subcmd[0](args, usage)
98 99
99 100
100## 101##
@@ -795,3 +796,11 @@ DESCRIPTION
795 .wks files. 796 .wks files.
796 797
797""" 798"""
799
800wic_help_help = """
801NAME
802 wic help - display a help topic
803
804DESCRIPTION
805 Specify a help topic to display it. Topics are shown above.
806"""