From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id ED52913888F for ; Fri, 9 Oct 2015 16:33:32 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A47B3E07A0; Fri, 9 Oct 2015 16:33:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F1FE621C00D for ; Fri, 9 Oct 2015 16:33:27 +0000 (UTC) Received: from professor-x (S010634bdfa9ecf80.vc.shawcable.net [96.49.31.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id F0C3734070A for ; Fri, 9 Oct 2015 16:33:26 +0000 (UTC) Date: Fri, 9 Oct 2015 09:32:40 -0700 From: Brian Dolbec To: gentoo-catalyst@lists.gentoo.org Subject: Re: [gentoo-catalyst] [PATCH 3/3] main: convert to new logging module Message-ID: <20151009093240.0f258eea.dolsen@gentoo.org> In-Reply-To: <1444370248-13159-3-git-send-email-vapier@gentoo.org> References: <1444370248-13159-1-git-send-email-vapier@gentoo.org> <1444370248-13159-3-git-send-email-vapier@gentoo.org> Organization: Gentoo Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archives-Salt: be988e09-a2e7-4602-8d49-5196a93eedfc X-Archives-Hash: 4b357876872c1e01b791190b22e9e728 On Fri, 9 Oct 2015 01:57:28 -0400 Mike Frysinger 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