Move msg(), warn(), and die() to catalyst.output and update all references
authorAndrew Gaffney <agaffney@gentoo.org>
Sun, 11 Jan 2009 18:20:35 +0000 (12:20 -0600)
committerAndrew Gaffney <agaffney@gentoo.org>
Sun, 11 Jan 2009 18:20:35 +0000 (12:20 -0600)
ChangeLog
catalyst
modules/catalyst/arch/__init__.py
modules/catalyst/output.py [new file with mode: 0644]
modules/catalyst/support.py
modules/catalyst/target/__init__.py
modules/catalyst/target/generic_stage.py

index aee3dadc04faba844202e9da7f707e051d0f9b39..a4e20e6280fd302acb3419437f399814f09ef619 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,15 @@
 # Copyright 2002-2009 Gentoo Foundation; 2008-2009 Various authors (see AUTHORS)
 # Distributed under the GPL v2
 
+  11 Jan 2009; Andrew Gaffney <agaffney@gentoo.org> catalyst,
+  modules/catalyst/arch/__init__.py, +modules/catalyst/output.py,
+  modules/catalyst/support.py, modules/catalyst/target/__init__.py,
+  modules/catalyst/target/generic_stage.py:
+  Move msg(), warn(), and die() to catalyst.output and update all references
+
+  11 Jan 2009; Andrew Gaffney <agaffney@gentoo.org> catalyst:
+  Load defaults into myconf before parsing config
+
   11 Jan 2009; Andrew Gaffney <agaffney@gentoo.org> catalyst:
   Condense code that checks for various things in 'options' to use a loop
 
index a9b1109a77b948c446c75a2d5f340b2913986384..367a91c1ce64be700c4b282edbb46cf0693ed28a 100755 (executable)
--- a/catalyst
+++ b/catalyst
@@ -15,6 +15,7 @@ import catalyst.config
 import catalyst.util
 import catalyst.target
 from catalyst.support import *
+from catalyst.output import *
 
 __maintainer__="Chris Gianelloni <wolf31o2@gentoo.org>"
 __version__="2.99"
@@ -74,8 +75,7 @@ def parse_config(myconfig):
                        print "Using command line specified Catalyst configuration file, " + myconfig
                        config_file = myconfig
                else:
-                       print "!!! catalyst: specified configuration file " + myconfig + " does not exist"
-                       sys.exit(1)
+                       die("specified configuration file " + myconfig + " does not exist")
 
        # next, try the default location
        elif os.path.exists("/etc/catalyst/catalyst.conf"):
@@ -84,8 +84,7 @@ def parse_config(myconfig):
 
        # 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)
+               die("Could not find a suitable configuration file")
 
        # Load the default config values into myconf
        for x in confdefaults:
@@ -98,8 +97,7 @@ def parse_config(myconfig):
                myconf.update(myconfig.get_values())
 
        except:
-               print "!!! catalyst: Unable to parse configuration file, "+myconfig
-               sys.exit(1)
+               die("Unable to parse configuration file, " + myconfig)
 
        # now, load up the values into conf_values so that we can use them
        for x in confdefaults.keys():
@@ -154,8 +152,7 @@ def build_target(addlargs, targetmap):
 
        except:
                catalyst.util.print_traceback()
-               print "!!! catalyst: Error encountered during run of target " + addlargs["target"]
-#              sys.exit(1)
+               warn("Error encountered during run of target " + addlargs["target"])
                raise
 
 def verify_digest_and_hash_functions():
@@ -203,8 +200,7 @@ if __name__ == "__main__":
 
        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)
+               die("This script requires root privileges to operate", 2)
 
        # parse out the command line arguments
        try:
@@ -226,7 +222,7 @@ if __name__ == "__main__":
 
        # check preconditions
        if len(opts) == 0:
-               print "!!! catalyst: please specify one of either -f or -C\n"
+               warn("please specify one of either -f or -C\n")
                usage()
                sys.exit(2)
 
@@ -266,7 +262,7 @@ if __name__ == "__main__":
 
                if o in ("-s", "--snapshot"):
                        if len(sys.argv) < 3:
-                               print "!!! catalyst: missing snapshot identifier\n"
+                               warn("missing snapshot identifier")
                                usage()
                                sys.exit(2)
                        else:
@@ -284,7 +280,7 @@ if __name__ == "__main__":
                        conf_values["CLEAR_AUTORESUME"] = "1"
 
        if not run:
-               print "!!! catalyst: please specify one of either -f or -C\n"
+               warn("please specify one of either -f or -C")
                usage()
                sys.exit(2)
 
@@ -306,8 +302,7 @@ if __name__ == "__main__":
                        cmdline.parse_lines(mycmdline)
                        addlargs.update(cmdline.get_values())
                except CatalystError:
-                       print "!!! catalyst: Could not parse commandline, exiting."
-                       sys.exit(1)
+                       die("Could not parse commandline, exiting.")
 
        if not "target" in addlargs:
                raise CatalystError, "Required value \"target\" not specified."
index 1e6fa10912d194598e7f451ec7e548dd95dcbf7f..c934986e6a22faf88cdf597b0cdc2fa137ec6e5e 100644 (file)
@@ -5,9 +5,7 @@ Parent module of all arch modules
 import os
 import imp
 import catalyst.util
-
-# This is only until we move all the output stuff into catalyst.output
-from catalyst.support import msg
+from catalyst.output import warn
 
 def find_arch_modules(self):
        search_dir = os.path.abspath(os.path.dirname(__file__))
@@ -20,7 +18,7 @@ def get_arches(self):
        for x in find_arch_modules():
                arch_modules[x] = catalyst.util.load_module("catalyst.arch." + x)
                if arch_modules[x] is None:
-                       msg("Cannot import catalyst.arch." + x + ". This usually only " + \
+                       warn("Cannot import catalyst.arch." + x + ". This usually only " + \
                                "happens due to a syntax error, which should be reported as " \
                                "a bug.")
        return arch_modules
diff --git a/modules/catalyst/output.py b/modules/catalyst/output.py
new file mode 100644 (file)
index 0000000..b9dd95d
--- /dev/null
@@ -0,0 +1,15 @@
+"""
+This module contains miscellaneous functions for outputting messages
+"""
+
+def msg(mymsg, verblevel=1):
+       if verbosity >= verblevel:
+               print mymsg
+
+def warn(msg):
+       print "!!! catalyst: " + msg
+
+def die(msg, exitcode=1):
+       warn(msg)
+       sys.exit(exitcode)
+
index 6aecfbf21ecfcb0be1ec33e95c36e1ee113c4d52..ca97c6e0a66273637efe17bf42f1fe5efd97a091 100644 (file)
@@ -1,6 +1,8 @@
 
 import sys,string,os,types,re,signal,traceback,time
+from catalyst.output import warn
 #import md5,sha
+
 selinux_capable = False
 #userpriv_capable = (os.getuid() == 0)
 #fakeroot_capable = False
@@ -263,14 +265,6 @@ class LockInUse(Exception):
                        print "!!! catalyst lock file in use: "+message
                        print
 
-def die(msg=None):
-       warn(msg)
-       sys.exit(1)
-
-def warn(msg):
-       print "!!! catalyst: "+msg
-
-
 def find_binary(myc):
        """look through the environmental path for an executable file named whatever myc is"""
         # this sucks. badly.
@@ -631,10 +625,6 @@ def read_makeconf(mymakeconffile):
                makeconf={}
                return makeconf
 
-def msg(mymsg,verblevel=1):
-       if verbosity>=verblevel:
-               print mymsg
-
 def pathcompare(path1,path2):
        # Change double slashes to slash
        path1 = re.sub(r"//",r"/",path1)
index 7f8602b41ba68cc79355deddd0b1be65bd706cdb..8e23b5219d3744e47b3a7bb2f550b7ab9fa4269a 100644 (file)
@@ -5,9 +5,7 @@ Parent module of all target modules
 import os
 import imp
 import catalyst.util
-
-# This is only until we move all the output stuff into catalyst.output
-from catalyst.support import msg
+from catalyst.output import warn
 
 def find_target_modules():
        search_dir = os.path.abspath(os.path.dirname(__file__))
@@ -20,7 +18,7 @@ def get_targets():
        for x in find_target_modules():
                target_modules[x] = catalyst.util.load_module("catalyst.target." + x)
                if target_modules[x] is None:
-                       msg("Cannot import catalyst.target." + x + ". This usually only " + \
+                       warn("Cannot import catalyst.target." + x + ". This usually only " + \
                                "happens due to a syntax error, which should be reported as " \
                                "a bug.")
        return target_modules
index f4865127d09fceff9442ed604227bf92ae5f32cd..143e74fe97ed0be86abd659cc6be63dc95ee366e 100644 (file)
@@ -10,6 +10,7 @@ from catalyst.target.generic import *
 from stat import *
 import catalyst.lock
 import catalyst.arch
+from catalyst.output import warn
 
 class generic_stage_target(generic_target):