diff --git a/bin/isimage b/bin/isimage index 9c80c625ea4b4f16ce8175bd5dbc9c358c5835fe..fe55cd3e1a2d18e9bcc9c834a92453e49b70cf99 100755 --- a/bin/isimage +++ b/bin/isimage @@ -10,19 +10,10 @@ import os import time import datetime import installsystems -import installsystems.argparse as argparse # To remove when default to python 2.7 +import installsystems.argparse as argparse # To be removed when python 2.7 from installsystems.printer import * from installsystems.image import SourceImage -class ISAction(argparse.Action): - '''Set installsystems quiet/debug mode. Argparse callback''' - def __call__(self, parser, namespace, values, option_string=None): - if option_string in ("-q", "--quiet"): - installsystems.quiet = True - elif option_string in ("-d", "--debug"): - installsystems.debug = True - - def init(args): '''Create an empty fresh source image tree''' # call init from library @@ -49,12 +40,12 @@ def build(args): # Top level argument parsing p_main = argparse.ArgumentParser() -p_main.add_argument("-V", "--version", action = "version", - version = installsystems.version, +p_main.add_argument("-V", "--version", action="version", + version=installsystems.version, help="show installsystems version") -p_main.add_argument('-d', "--debug", action = ISAction, nargs = 0, +p_main.add_argument('-d', "--debug", action="store_true", help="active debug mode") -p_main.add_argument('-q', "--quiet", action = ISAction, nargs = 0, +p_main.add_argument('-q', "--quiet", action="store_true", help="active quiet mode") subparsers = p_main.add_subparsers() @@ -73,4 +64,8 @@ p_build.add_argument("path", nargs = "?", default = ".") p_build.set_defaults(func = build) # Parse and run args = p_main.parse_args() +# set debug and quiet mode +installsystems.debug = args.debug +installsystems.quiet = args.quiet +# exectue subparser functions args.func(args) diff --git a/bin/isinstall b/bin/isinstall index b17608aa6f796a0efe2f07d13a1efb5d27a29e77..c8ee23f5fe4dfa4cd1e86fa64e1d36385b1a7ace 100755 --- a/bin/isinstall +++ b/bin/isinstall @@ -17,26 +17,15 @@ from installsystems.repository import RepositoryManager, RepositoryConfig from installsystems.image import PackageImage from installsystems.config import MainConfigFile, RepoConfigFile -class ISAction(argparse.Action): - ''' - Set installsystems quiet/debug mode. Argparse callback - ''' - def __call__(self, parser, namespace, values, option_string=None): - if option_string in ("-q", "--quiet"): - installsystems.debug = False - elif option_string in ("-d", "--debug"): - installsystems.debug = True - - # Argument parsing loading p_main = argparse.ArgumentParser() p_main.add_argument("-V", "--version", action = "version", version = installsystems.version, help = "show installsystems version") -p_main.add_argument('-d', "--debug", action = ISAction, nargs = 0, - help = "active debug mode") -p_main.add_argument('-q', "--quiet", action = ISAction, nargs = 0, - help = "active quiet mode") +p_main.add_argument('-d', "--debug", action="store_true", + help="active debug mode") +p_main.add_argument('-q', "--quiet", action="store_true", + help="active quiet mode") p_main.add_argument("--no-cache", action = "store_false", default = False, help = "Not use persistent db caching") p_main.add_argument("-c", "--config", dest = "config", default = "isinstall", @@ -56,6 +45,10 @@ try: args = p_main.parse_known_args()[0] # load main config config = MainConfigFile(args.config) + config.merge(args) + # set debug and quiet mode after merge + installsystems.debug = args.debug + installsystems.quiet = args.quiet # looks if arguments is a file or image name if istools.pathtype(args.image_name) == "file" and os.path.isfile(args.image_name): pkg = PackageImage(istools.abspath(args.image_name)) diff --git a/bin/isrepo b/bin/isrepo index e625d4baec23ddfd20a236dfe35807e728e40f61..23abde3e587b3f4e8d9d683e2a02cab0f706e9b1 100755 --- a/bin/isrepo +++ b/bin/isrepo @@ -8,23 +8,12 @@ InstallSystems Repository Manipulation Tool import os import installsystems -import installsystems.argparse as argparse # To Remove when python 2.7 +import installsystems.argparse as argparse # To be removed when python 2.7 from installsystems.printer import * from installsystems.repository import Repository, RepositoryConfig from installsystems.image import PackageImage from installsystems.config import MainConfigFile, RepoConfigFile -class ISAction(argparse.Action): - ''' - Set installsystems quiet/debug mode. Argparse callback - ''' - def __call__(self, parser, namespace, values, option_string=None): - if option_string in ("-q", "--quiet"): - installsystems.quiet = True - elif option_string in ("-d", "--debug"): - installsystems.debug = True - - def init(args): ''' Create an empty fresh repo tree @@ -58,20 +47,20 @@ def delete(args): # Top level argument parsing p_main = argparse.ArgumentParser() -p_main.add_argument("-V", "--version", action = "version", - version = installsystems.version, - help = "show installsystems version") -p_main.add_argument('-d', "--debug", action = ISAction, nargs = 0, - help = "active debug mode") -p_main.add_argument('-q', "--quiet", action = ISAction, nargs = 0, - help = "active quiet mode") -p_main.add_argument("-c", "--config", default = "isrepo", - help = "config file path") -p_main.add_argument("-r", "--repo-name", default = None, - help = "select repository by name in config files") -p_main.add_argument("-R", "--repo-config", action = "append", - default = ["repository"], - help = "repository config (can be specified more than one time)") +p_main.add_argument("-V", "--version", action="version", + version=installsystems.version, + help="show installsystems version") +p_main.add_argument('-d', "--debug", action="store_true", + help="active debug mode") +p_main.add_argument('-q', "--quiet", action="store_true", + help="active quiet mode") +p_main.add_argument("-c", "--config", default="isrepo", + help="config file path") +p_main.add_argument("-r", "--repo-name", default=None, + help="select repository by name in config files") +p_main.add_argument("-R", "--repo-config", action="append", + default=["repository"], + help="repository config (can be specified more than one time)") subparsers = p_main.add_subparsers() # Init command parser p_init = subparsers.add_parser("init", help = init.__doc__.lower()) @@ -91,6 +80,9 @@ try: # load isinstall config config = MainConfigFile(args.config) config.merge(args) + # set debug and quiet mode after merge + installsystems.debug = args.debug + installsystems.quiet = args.quiet # load repo configs repos = [] for r_config in args.repo_config: