aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'pym/gentoolkit/base.py')
-rw-r--r--pym/gentoolkit/base.py207
1 files changed, 106 insertions, 101 deletions
diff --git a/pym/gentoolkit/base.py b/pym/gentoolkit/base.py
index 372ed74..8dfa2db 100644
--- a/pym/gentoolkit/base.py
+++ b/pym/gentoolkit/base.py
@@ -6,7 +6,7 @@
"""Gentoolkit Base Module class to hold common module operation functions
"""
-__docformat__ = 'epytext'
+__docformat__ = "epytext"
import os
@@ -18,127 +18,132 @@ from gentoolkit.formatters import format_options
GLOBAL_OPTIONS = (
- (" -h, --help", "display this help message"),
- (" -q, --quiet", "minimal output"),
- (" -C, --no-color", "turn off colors"),
- (" -N, --no-pipe", "turn off pipe detection"),
- (" -V, --version", "display version info")
+ (" -h, --help", "display this help message"),
+ (" -q, --quiet", "minimal output"),
+ (" -C, --no-color", "turn off colors"),
+ (" -N, --no-pipe", "turn off pipe detection"),
+ (" -V, --version", "display version info"),
)
def initialize_configuration():
- """Setup the standard equery config"""
-
- # Get terminal size
- term_width = pp.output.get_term_size()[1]
- if term_width < 1:
- # get_term_size() failed. Set a sane default width:
- term_width = 80
- # Terminal size, minus a 1-char margin for text wrapping
- gentoolkit.CONFIG['termWidth'] = term_width - 1
- # Guess color output
- if (gentoolkit.CONFIG['color'] == -1 and (not sys.stdout.isatty() or
- os.getenv("NOCOLOR") in ("yes", "true")) or gentoolkit.CONFIG['color'] == 0):
- pp.output.nocolor()
- gentoolkit.CONFIG['verbose'] = not gentoolkit.CONFIG['piping']
+ """Setup the standard equery config"""
+
+ # Get terminal size
+ term_width = pp.output.get_term_size()[1]
+ if term_width < 1:
+ # get_term_size() failed. Set a sane default width:
+ term_width = 80
+ # Terminal size, minus a 1-char margin for text wrapping
+ gentoolkit.CONFIG["termWidth"] = term_width - 1
+ # Guess color output
+ if (
+ gentoolkit.CONFIG["color"] == -1
+ and (not sys.stdout.isatty() or os.getenv("NOCOLOR") in ("yes", "true"))
+ or gentoolkit.CONFIG["color"] == 0
+ ):
+ pp.output.nocolor()
+ gentoolkit.CONFIG["verbose"] = not gentoolkit.CONFIG["piping"]
def split_arguments(args):
- """Separate module name from module arguments"""
+ """Separate module name from module arguments"""
- return args.pop(0), args
+ return args.pop(0), args
def main_usage(module_info):
- """Return the main usage message for analyse"""
- return "%(usage)s %(product)s [%(g_opts)s] %(mod_name)s [%(mod_opts)s]" % {
- 'usage': pp.emph("Usage:"),
- 'product': pp.productname(module_info["__productname__"]),
- 'g_opts': pp.globaloption("global-options"),
- 'mod_name': pp.command("module-name"),
- 'mod_opts': pp.localoption("module-options")
- }
+ """Return the main usage message for analyse"""
+ return "%(usage)s %(product)s [%(g_opts)s] %(mod_name)s [%(mod_opts)s]" % {
+ "usage": pp.emph("Usage:"),
+ "product": pp.productname(module_info["__productname__"]),
+ "g_opts": pp.globaloption("global-options"),
+ "mod_name": pp.command("module-name"),
+ "mod_opts": pp.localoption("module-options"),
+ }
def print_version(module_info):
- """Print the version of this tool to the console."""
+ """Print the version of this tool to the console."""
- print("%(product)s (%(version)s) - %(docstring)s" % {
- "product": pp.productname(module_info["__productname__"]),
- "version": module_info["__version__"],
- "docstring": module_info["__doc__"]
- })
+ print(
+ "%(product)s (%(version)s) - %(docstring)s"
+ % {
+ "product": pp.productname(module_info["__productname__"]),
+ "version": module_info["__version__"],
+ "docstring": module_info["__doc__"],
+ }
+ )
def print_help(module_info, formatted_options=None, with_description=True):
- """Print description, usage and a detailed help message.
-
- @param with_description (bool): Option to print module's __doc__ or not
- """
-
- if with_description:
- print()
- print(module_info["__doc__"])
- print()
- print(main_usage(module_info))
- print()
- print(pp.globaloption("global options"))
- print(format_options(GLOBAL_OPTIONS))
- print()
- if formatted_options:
- print(pp.command("modules") + " (" + pp.command("short name") + ")")
- print(format_options(formatted_options))
- else:
- print("Error: calling function did not supply formatted options")
- print()
+ """Print description, usage and a detailed help message.
+
+ @param with_description (bool): Option to print module's __doc__ or not
+ """
+
+ if with_description:
+ print()
+ print(module_info["__doc__"])
+ print()
+ print(main_usage(module_info))
+ print()
+ print(pp.globaloption("global options"))
+ print(format_options(GLOBAL_OPTIONS))
+ print()
+ if formatted_options:
+ print(pp.command("modules") + " (" + pp.command("short name") + ")")
+ print(format_options(formatted_options))
+ else:
+ print("Error: calling function did not supply formatted options")
+ print()
def parse_global_options(global_opts, args, module_info, formatted_options):
- """Parse global input args and return True if we should display help for
- the called module, else False (or display help and exit from here).
- """
-
- need_help = False
- do_help = False
- opts = (opt[0] for opt in global_opts)
- for opt in opts:
- if opt in ('-h', '--help'):
- do_help = True
- if args:
- need_help = True
- else:
- do_help = True
- elif opt in ('-q','--quiet'):
- gentoolkit.CONFIG['quiet'] = True
- elif opt in ('-C', '--no-color', '--nocolor'):
- gentoolkit.CONFIG['color'] = 0
- pp.output.nocolor()
- elif opt in ('-N', '--no-pipe'):
- gentoolkit.CONFIG['piping'] = False
- elif opt in ('-V', '--version'):
- print_version(module_info)
- sys.exit(0)
- elif opt in ('--debug'):
- gentoolkit.CONFIG['debug'] = True
- if do_help:
- print_help( module_info, formatted_options)
- sys.exit(0)
- return need_help
+ """Parse global input args and return True if we should display help for
+ the called module, else False (or display help and exit from here).
+ """
+
+ need_help = False
+ do_help = False
+ opts = (opt[0] for opt in global_opts)
+ for opt in opts:
+ if opt in ("-h", "--help"):
+ do_help = True
+ if args:
+ need_help = True
+ else:
+ do_help = True
+ elif opt in ("-q", "--quiet"):
+ gentoolkit.CONFIG["quiet"] = True
+ elif opt in ("-C", "--no-color", "--nocolor"):
+ gentoolkit.CONFIG["color"] = 0
+ pp.output.nocolor()
+ elif opt in ("-N", "--no-pipe"):
+ gentoolkit.CONFIG["piping"] = False
+ elif opt in ("-V", "--version"):
+ print_version(module_info)
+ sys.exit(0)
+ elif opt in ("--debug"):
+ gentoolkit.CONFIG["debug"] = True
+ if do_help:
+ print_help(module_info, formatted_options)
+ sys.exit(0)
+ return need_help
def mod_usage(mod_name="module", arg="pkgspec", optional=False):
- """Provide a consistant usage message to the calling module.
-
- @type arg: string
- @param arg: what kind of argument the module takes (pkgspec, filename, etc)
- @type optional: bool
- @param optional: is the argument optional?
- """
-
- return "%(usage)s: %(mod_name)s [%(opts)s] %(arg)s" % {
- 'usage': pp.emph("Usage"),
- 'mod_name': pp.command(mod_name),
- 'opts': pp.localoption("options"),
- 'arg': ("[%s]" % pp.emph(arg)) if optional else pp.emph(arg)
- }
-
+ """Provide a consistant usage message to the calling module.
+
+ @type arg: string
+ @param arg: what kind of argument the module takes (pkgspec, filename, etc)
+ @type optional: bool
+ @param optional: is the argument optional?
+ """
+
+ return "%(usage)s: %(mod_name)s [%(opts)s] %(arg)s" % {
+ "usage": pp.emph("Usage"),
+ "mod_name": pp.command(mod_name),
+ "opts": pp.localoption("options"),
+ "arg": ("[%s]" % pp.emph(arg)) if optional else pp.emph(arg),
+ }