On Fri,  9 Oct 2015 01:57:28 -0400
Mike Frysinger <[email protected]> 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>


Reply via email to