]> code.ossystems Code Review - openembedded-core.git/commitdiff
wic: beautify 'wic help'
authorChee Yang Lee <chee.yang.lee@intel.com>
Fri, 8 Nov 2019 03:41:19 +0000 (11:41 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 Nov 2019 12:55:56 +0000 (12:55 +0000)
The Wic help returned to the user is unreadable.

Use a custom ArgumentParser to override argparse help message.

change help message as suggest in
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12205
[YOCTO #12205]

changes applies to 'wic help', 'wic -h', 'wic --h' and 'wic --help'

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/wic/help.py
scripts/wic

index af7d0576e28c09b8315d822c041ebc5ed28360ad..968cc0ed6febe44ca8de84d4a488eedcbc42f72f 100644 (file)
@@ -1046,3 +1046,59 @@ NAME
 DESCRIPTION
     Specify a help topic to display it. Topics are shown above.
 """
+
+
+wic_help = """
+Creates a customized OpenEmbedded image.
+
+Usage:  wic [--version]
+        wic help [COMMAND or TOPIC]
+        wic COMMAND [ARGS]
+
+    usage 1: Returns the current version of Wic
+    usage 2: Returns detailed help for a COMMAND or TOPIC
+    usage 3: Executes COMMAND
+
+
+COMMAND:
+
+    list   -   List available canned images and source plugins
+    ls     -   List contents of partitioned image or partition
+    rm     -   Remove files or directories from the vfat or ext* partitions
+    help   -   Show help for a wic COMMAND or TOPIC
+    write  -   Write an image to a device
+    cp     -   Copy files and directories to the vfat or ext* partitions
+    create -   Create a new OpenEmbedded image
+
+
+TOPIC:
+    overview  - Presents an overall overview of Wic
+    plugins   - Presents an overview and API for Wic plugins
+    kickstart - Presents a Wic kicstart file reference
+
+
+Examples:
+
+    $ wic --version
+
+    Returns the current version of Wic
+
+
+    $ wic help cp
+
+    Returns the SYNOPSIS and DESCRIPTION for the Wic "cp" command.
+
+
+    $ wic list images
+
+    Returns the list of canned images (i.e. *.wks files located in
+    the /scripts/lib/wic/canned-wks directory.
+
+
+    $ wic create mkefidisk -e core-image-minimal
+
+    Creates an EFI disk image from artifacts used in a previous
+    core-image-minimal build in standard BitBake locations
+    (e.g. Cooked Mode).
+
+"""
index 1d89fb2edac4a516d2b32d0e50075205dac9baaa..1a717300f5559335c108d3877ae8f468a6a4051b 100755 (executable)
@@ -495,14 +495,18 @@ def init_parser(parser):
         subparser = subparsers.add_parser(subcmd, help=subcommands[subcmd][2])
         subcommands[subcmd][3](subparser)
 
+class WicArgumentParser(argparse.ArgumentParser):
+     def format_help(self):
+         return hlp.wic_help
 
 def main(argv):
-    parser = argparse.ArgumentParser(
+    parser = WicArgumentParser(
         description="wic version %s" % __version__)
 
     init_parser(parser)
 
     args = parser.parse_args(argv)
+
     if args.debug:
         logger.setLevel(logging.DEBUG)
 
@@ -510,8 +514,6 @@ def main(argv):
         if args.command == "help":
             if args.help_topic is None:
                 parser.print_help()
-                print()
-                print("Please specify a help topic")
             elif args.help_topic in helptopics:
                 hlpt = helptopics[args.help_topic]
                 hlpt[0](hlpt[1], hlpt[2])