[virt-tools-list] [virt-bootstrap] [PATCH v6 19/26] Improve readability of parser arguments
Cedric Bosdonnat
cbosdonnat at suse.com
Sat Aug 19 13:28:02 UTC 2017
On Thu, 2017-08-17 at 11:44 +0100, Radostin Stoyanov wrote:
> diff --git a/src/virtBootstrap/virt_bootstrap.py b/src/virtBootstrap/virt_bootstrap.py
> index dc7f9d7..0f733aa 100755
> --- a/src/virtBootstrap/virt_bootstrap.py
> +++ b/src/virtBootstrap/virt_bootstrap.py
> @@ -317,8 +317,8 @@ def main():
> gid_map += parse_idmap(args.gidmap)
>
> # do the job here!
> - bootstrap(uri=args.uri,
> - dest=args.dest,
> + bootstrap(uri=args.URI,
> + dest=args.DEST,
> fmt=args.format,
> username=args.username,
> password=args.password,
>
>
> On 17/08/17 10:39, Radostin Stoyanov wrote:
> > ---
> > src/virtBootstrap/virt_bootstrap.py | 151 +++++++++++++++++++++++++++---------
> > 1 file changed, 114 insertions(+), 37 deletions(-)
> >
> > diff --git a/src/virtBootstrap/virt_bootstrap.py b/src/virtBootstrap/virt_bootstrap.py
> > index 50fb604..dc7f9d7 100755
> > --- a/src/virtBootstrap/virt_bootstrap.py
> > +++ b/src/virtBootstrap/virt_bootstrap.py
> > @@ -174,6 +174,7 @@ def set_logging_conf(loglevel=None):
> > def main():
> > parser = argparse.ArgumentParser(
> > description=_("Container bootstrapping tool"),
> > + conflict_handler='resolve',
> > formatter_class=argparse.RawDescriptionHelpFormatter,
> > epilog=dedent(_('''
> > Example supported URI formats:
> > @@ -187,43 +188,119 @@ def main():
> > ----------------------------------------
> >
> > ''')))
> > - parser.add_argument("uri",
> > - help=_("URI of container image"))
> > - parser.add_argument("dest",
> > - help=_("Destination folder"))
> > - parser.add_argument("--not-secure", action='store_true',
> > - help=_("Ignore HTTPS errors"))
> > - parser.add_argument("-u", "--username", default=None,
> > - help=_("Username for accessing the source registry"))
> > - parser.add_argument("-p", "--password", default=None,
> > - help=_("Password for accessing the source registry"))
> > - parser.add_argument("--root-password", default=None,
> > - help=_("Set root password"))
> > - parser.add_argument("--uidmap", default=None, action='append',
> > - metavar="<start>:<target>:<count>",
> > - help=_("Map UIDs"))
> > - parser.add_argument("--gidmap", default=None, action='append',
> > - metavar="<start>:<target>:<count>",
> > - help=_("Map GIDs"))
> > - parser.add_argument("--idmap", default=None, action='append',
> > - metavar="<start>:<target>:<count>",
> > - help=_("Map both UIDs/GIDs"))
> > - parser.add_argument("--no-cache", action="store_true",
> > - help=_("Do not store downloaded Docker images"))
> > - parser.add_argument("-f", "--format", default=utils.DEFAULT_OUTPUT_FORMAT,
> > - choices=['dir', 'qcow2'],
> > - help=_("Format to be used for the root filesystem"))
> > - parser.add_argument("-d", "--debug", action="store_const", dest="loglevel",
> > - const=logging.DEBUG, help=_("Show debug messages"))
> > - parser.add_argument("-q", "--quiet", action="store_const", dest="loglevel",
> > - const=logging.WARNING,
> > - help=_("Don't print progress messages"))
> > - parser.add_argument("--status-only", action="store_const",
> > - const=utils.write_progress,
> > - help=_("Show only progress information"))
> > - parser.add_argument('--version', action='version',
> > - version='%(prog)s ' + __version__,
> > - help=_("Print the version"))
> > +
> > + # pylint: disable=protected-access
> > + parser._positionals.title = 'ARGUMENTS'
> > + parser._optionals.title = 'OPTIONS'
> > +
> > + parser.add_argument(
> > + "URI", help=_("URI of container image")
> > + )
> > + parser.add_argument(
> > + "DEST", help=_("Destination folder")
> > + )
> > + parser.add_argument(
> > + '--version',
> > + help=_("Print the version"),
> > + action='version',
> > + version='%(prog)s ' + __version__
> > + )
> > + parser.add_argument(
> > + "-f", "--format",
> > + help=_('Output format of the root filesystem. '
> > + 'Allowed values are "dir" (default) and "qcow2".'),
> > + default=utils.DEFAULT_OUTPUT_FORMAT,
> > + choices=['dir', 'qcow2'],
> > + metavar=''
> > + )
> > + parser.add_argument(
> > + "--root-password",
> > + help=_("Set root password"),
> > + default=None,
> > + metavar=''
> > + )
> > + parser.add_argument(
> > + "--no-cache",
> > + help=_("Do not store downloaded Docker images"),
> > + action="store_true"
> > + )
> > + parser.add_argument(
> > + "-d", "--debug",
> > + help=_("Show debug messages"),
> > + action="store_const",
> > + dest="loglevel",
> > + const=logging.DEBUG
> > + )
> > + parser.add_argument(
> > + "-q", "--quiet",
> > + help=_("Don't print progress messages"),
> > + action="store_const",
> > + dest="loglevel",
> > + const=logging.WARNING
> > + )
> > + parser.add_argument(
> > + "--status-only",
> > + help=_("Show only progress information"),
> > + action="store_const",
> > + const=utils.write_progress
> > + )
> > +
> > + # Authentication arguments
> > + auth_group = parser.add_argument_group(
> > + title='AUTHENTICATION',
> > + description='Credentials used to authenticte to '
> > + 'Docker source registry.'
> > + )
> > + auth_group.add_argument(
> > + "-u", "--username",
> > + help=_("Use USERNAME to access source registry"),
> > + default=None,
> > + metavar='USERNAME'
> > + )
> > + auth_group.add_argument("-u", help="", default=None, metavar='USERNAME')
> > + auth_group.add_argument(
> > + "-p", "--password",
> > + help=_("Use PASSWORD to access source registry"),
> > + default=None,
> > + metavar='PASSWORD'
> > + )
> > + auth_group.add_argument("-p", help="", default=None, metavar='PASSWORD')
> > + auth_group.add_argument(
> > + "--not-secure",
> > + help=_("Ignore HTTPS errors"),
> > + action='store_true'
> > + )
> > +
> > + # Ownership mapping arguments
> > + idmap_group = parser.add_argument_group(
> > + title='UID/GID mapping',
> > + description='Remapping ownership of all files inside rootfs.\n'
> > + 'These arguments can be specified multiple times.\n'
> > + 'Format:\t<start>:<target>:<count>\n'
> > + 'Example:\t--idmap 500:1500:10 --idmap 0:1000:10'
> > + )
> > + idmap_group.add_argument(
> > + "--uidmap",
> > + help=_("Map UIDs"),
> > + default=None,
> > + action='append',
> > + metavar=''
> > + )
> > + idmap_group.add_argument(
> > + "--gidmap",
> > + help=_("Map GIDs"),
> > + default=None,
> > + action='append',
> > + metavar=''
> > + )
> > + idmap_group.add_argument(
> > + "--idmap",
> > + help=_("Map both UIDs/GIDs"),
> > + default=None,
> > + action='append',
> > + metavar=''
> > + )
> > +
> >
> > try:
> > args = parser.parse_args()
>
ACK with that addition.
--
Cedric
More information about the virt-tools-list
mailing list