From: Brian Dolbec <dolsen@gentoo.org>
To: gentoo-catalyst@lists.gentoo.org
Subject: Re: [gentoo-catalyst] [PATCH 3/3] main: convert to new logging module
Date: Fri, 9 Oct 2015 09:32:40 -0700 [thread overview]
Message-ID: <20151009093240.0f258eea.dolsen@gentoo.org> (raw)
In-Reply-To: <1444370248-13159-3-git-send-email-vapier@gentoo.org>
On Fri, 9 Oct 2015 01:57:28 -0400
Mike Frysinger <vapier@gentoo.org> wrote:
> ---
> catalyst/main.py | 104
> +++++++++++++++++++++++-------------------------------- 1 file
> changed, 43 insertions(+), 61 deletions(-)
>
> diff --git a/catalyst/main.py b/catalyst/main.py
> index c9a2219..bc77c59 100644
> --- a/catalyst/main.py
> +++ b/catalyst/main.py
> @@ -7,6 +7,7 @@
> # $Id$
>
> import argparse
> +import datetime
> import os
> import sys
>
> @@ -31,36 +32,36 @@ conf_values={}
>
>
> def version():
> - print get_version()
> - print "Copyright 2003-2008 Gentoo Foundation"
> - print "Copyright 2008-2012 various authors"
> - print "Distributed under the GNU General Public License
> version 2.1\n"
> + log.info(get_version())
> + log.info('Copyright 2003-%s Gentoo Foundation',
> datetime.datetime.now().year)
> + log.info('Copyright 2008-2012 various authors')
> + log.info('Distributed under the GNU General Public License
> version 2.1')
> def parse_config(myconfig):
> # search a couple of different areas for the main config file
> myconf={}
> config_file=""
> + default_config_file = '/etc/catalyst/catalyst.conf'
>
> # first, try the one passed (presumably from the cmdline)
> if myconfig:
> if os.path.exists(myconfig):
> - print "Using command line specified Catalyst
> configuration file, "+myconfig
> + log.notice('Using command line specified
> Catalyst configuration file: %s',
> + myconfig)
> config_file=myconfig
>
> else:
> - print "!!! catalyst: Could not use specified
> configuration file "+\
> - myconfig
> - sys.exit(1)
> + log.critical('Specified configuration file
> does not exist: %s', myconfig)
> # next, try the default location
> - elif os.path.exists("/etc/catalyst/catalyst.conf"):
> - print "Using default Catalyst configuration
> file, /etc/catalyst/catalyst.conf"
> - config_file="/etc/catalyst/catalyst.conf"
> + elif os.path.exists(default_config_file):
> + log.notice('Using default Catalyst configuration
> file: %s',
> + default_config_file)
> + config_file = default_config_file
>
> # can't find a config file (we are screwed), so bail out
> else:
> - print "!!! catalyst: Could not find a suitable
> configuration file"
> - sys.exit(1)
> + log.critical('Could not find a suitable
> configuration file')
> # now, try and parse the config file "config_file"
> try:
> @@ -69,8 +70,7 @@ def parse_config(myconfig):
> myconf.update(myconfig.get_values())
>
> except Exception:
> - print "!!! catalyst: Unable to parse configuration
> file, "+myconfig
> - sys.exit(1)
> + log.critical('Could not find parse configuration
> file: %s', myconfig)
> # now, load up the values into conf_values so that we can
> use them for x in list(confdefaults):
> @@ -90,7 +90,7 @@ def parse_config(myconfig):
> # print out any options messages
> for opt in conf_values['options']:
> if opt in option_messages:
> - print option_messages[opt]
> + log.info(option_messages[opt])
>
> for key in ["digests", "envscript", "var_tmpfs_portage",
> "port_logdir", "local_overlay"]:
> @@ -102,7 +102,7 @@ def parse_config(myconfig):
> conf_values["contents"] =
> myconf["contents"].replace("-", '_')
> if "envscript" in myconf:
> - print "Envscript support enabled."
> + log.info('Envscript support enabled.')
>
> # take care of any variable substitutions that may be left
> for x in list(conf_values):
> @@ -118,11 +118,8 @@ def import_module(target):
> try:
> mod_name = "catalyst.targets." + target
> module = __import__(mod_name, [],[], ["not empty"])
> - except ImportError as e:
> - print "!!! catalyst: Python module import error: %s
> " % target + \
> - "in catalyst/targets/ ... exiting."
> - print "ERROR was: ", e
> - sys.exit(1)
> + except ImportError:
> + log.critical('Python module import error: %s',
> target, exc_info=True) return module
>
>
> @@ -278,7 +275,7 @@ def main():
> parse_config(myconfig)
>
> conf_values["options"].update(options)
> - #print "MAIN: conf_values['options'] =",
> conf_values["options"]
> + log.debug('conf_values[options] = %s',
> conf_values['options'])
> # initialize our contents generator
> contents_map = ContentsMap(CONTENTS_DEFINITIONS)
> @@ -308,14 +305,13 @@ def main():
>
> # First validate all the requested digests are valid
> keys. if digests - valid_digests:
> - print
> - print "These are not a valid digest entries:"
> - print ', '.join(digests - valid_digests)
> - print "Valid digest entries:"
> - print ', '.join(sorted(valid_digests))
> - print
> - print "Catalyst aborting...."
> - sys.exit(2)
> + log.critical(
> + 'These are not valid digest
> entries:\n'
> + '%s\n'
> + 'Valid digest entries:\n'
> + '%s',
> + ', '.join(digests - valid_digests),
> + ', '.join(sorted(valid_digests)))
>
> # Then check for any programs that the hash func
> requires. for digest in digests:
> @@ -326,37 +322,28 @@ def main():
> if skip_missing:
> digests.remove(digest)
> continue
> - print
> - print "digest=" + digest
> - print "\tThe " +
> hash_map.hash_map[digest].cmd + \
> - " binary was not found. It
> needs to be in your system path"
> - print
> - print "Catalyst aborting...."
> - sys.exit(2)
> + log.critical(
> + 'The "%s" binary needed by
> digest "%s" was not found. '
> + 'It needs to be in your
> system path.',
> +
> hash_map.hash_map[digest].cmd, digest)
> # Now reload the config with our updated value.
> conf_values['digests'] = ' '.join(digests)
>
> if "hash_function" in conf_values:
> if conf_values["hash_function"] not in
> HASH_DEFINITIONS:
> - print
> - print conf_values["hash_function"]+\
> - " is not a valid hash_function entry"
> - print "Valid hash_function entries:"
> - print HASH_DEFINITIONS.keys()
> - print
> - print "Catalyst aborting...."
> - sys.exit(2)
> + log.critical(
> + '%s is not a valid hash_function
> entry\n'
> + 'Valid hash_function entries:\n'
> + '%s', HASH_DEFINITIONS.keys())
> try:
> process.find_binary(hash_map.hash_map[conf_values["hash_function"]].cmd)
> except process.CommandNotFound:
> - print
> - print
> "hash_function="+conf_values["hash_function"]
> - print "\tThe
> "+hash_map.hash_map[conf_values["hash_function"]].cmd + \
> - " binary was not found. It needs to
> be in your system path"
> - print
> - print "Catalyst aborting...."
> - sys.exit(2)
> + log.critical(
> + 'The "%s" binary needed by
> hash_function "%s" was not found. '
> + 'It needs to be in your system
> path.',
> +
> hash_map.hash_map[conf_values['hash_function']].cmd,
> + conf_values['hash_function'])
>
> addlargs={}
>
> @@ -370,25 +357,20 @@ def main():
> cmdline.parse_lines(mycmdline)
> addlargs.update(cmdline.get_values())
> except CatalystError:
> - print "!!! catalyst: Could not parse
> commandline, exiting."
> - sys.exit(1)
> + log.critical('Could not parse commandline')
>
> if "target" not in addlargs:
> raise CatalystError("Required value \"target\" not
> specified.")
> if os.getuid() != 0:
> # catalyst cannot be run as a normal user due to
> chroots, mounts, etc
> - print "!!! catalyst: This script requires root
> privileges to operate"
> - sys.exit(2)
> + log.critical('This script requires root privileges
> to operate')
> # everything is setup, so the build is a go
> try:
> success = build_target(addlargs)
> except KeyboardInterrupt:
> - print "\nCatalyst build aborted due to user
> interrupt ( Ctrl-C )"
> - print
> - print "Catalyst aborting...."
> - sys.exit(2)
> + log.critical('Catalyst build aborted due to user
> interrupt (Ctrl-C)') if not success:
> sys.exit(2)
> sys.exit(0)
Nice :)
--
Brian Dolbec <dolsen>
next prev parent reply other threads:[~2015-10-09 16:33 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-09 5:57 [gentoo-catalyst] [PATCH 1/3] main: group related command line flags Mike Frysinger
2015-10-09 5:57 ` [gentoo-catalyst] [PATCH 2/3] log: new logging module to standardize catalyst output Mike Frysinger
2015-10-09 16:30 ` Brian Dolbec
2015-10-09 5:57 ` [gentoo-catalyst] [PATCH 3/3] main: convert to new logging module Mike Frysinger
2015-10-09 16:32 ` Brian Dolbec [this message]
2015-10-09 16:19 ` [gentoo-catalyst] [PATCH 1/3] main: group related command line flags Brian Dolbec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151009093240.0f258eea.dolsen@gentoo.org \
--to=dolsen@gentoo.org \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox