From: Mike Frysinger <vapier@gentoo.org>
To: gentoo-catalyst@lists.gentoo.org
Subject: [gentoo-catalyst] [PATCH 3/3] main: convert to new logging module
Date: Fri, 9 Oct 2015 01:57:28 -0400 [thread overview]
Message-ID: <1444370248-13159-3-git-send-email-vapier@gentoo.org> (raw)
In-Reply-To: <1444370248-13159-1-git-send-email-vapier@gentoo.org>
---
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)
--
2.5.2
next prev parent reply other threads:[~2015-10-09 5:57 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 ` Mike Frysinger [this message]
2015-10-09 16:32 ` [gentoo-catalyst] [PATCH 3/3] main: convert to new logging module Brian Dolbec
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=1444370248-13159-3-git-send-email-vapier@gentoo.org \
--to=vapier@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