Utils¶
-
nutcli.utils.
check_instance
(obj, allowed_classes)¶ Check object instance and raise a
ValueError
if it is not instance of one ofallowed_classes
.- Parameters
obj (any) – Object to check.
allowed_classes (class or tuple of class) – Tuple of allowed classes.
- Raises
ValueError – Object is not instance of any allowed class.
-
nutcli.utils.
get_as_list
(arg)¶ Return value as list.
list is returned as is
tuple is converted to list
anything else is returned as
[arg]
- Parameters
arg (any) – Value that will be returned as list.
- Returns
Value as list.
- Return type
list
-
class
nutcli.utils.
Colorize
¶ Bases:
object
Utilities to provide colorized output, using terminal colors.
You can use
colorama
package to obtain the color definitions.Colors are enabled by default, you can disable the functionality with
enabled()
. All functions will return unchanged input if the colorization is disabled.-
classmethod
enabled
(enabled)¶ Enable or disable colors.
- Parameters
enabled (bool) – state
-
classmethod
all
(fmt, *args)¶ Surround
fmt
with provided colors.str = Colorize.all( 'hello world', colorama.Fore.RED, colorama.Style.BRIGHT ) print(str) # -> Red and bold 'hello world'
- Parameters
fmt (str) – String to format.
*args (str) – Color specifications.
- Returns
Colorized string.
- Return type
str
-
classmethod
bold
(fmt)¶ Make
fmt
bold.str = Colorize.bold('hello world') print(str) # -> Bold 'hello world'
- Parameters
fmt (str) – String to format.
- Returns
Colorized string.
- Return type
str
-
classmethod
re
(fmt, pattern, *args)¶ Colorize all matches found in
fmt
using regular expression.str = Colorize.re('hello', r'(.*)', colorama.Style.RED) print(str) # -> Red 'hello' str = Colorize.re( 'hello', r'h(e)ll(o)', colorama.Fore.RED, [colorama.Fore.BLUE, colorama.Style.BRIGHT] ) print(str) # -> 'hello' with red 'e' and blue and bold 'o'
- Parameters
fmt (str) – String to format.
pattern (str or type(re.compile(r''))) – Plain or compiled regular expression.
*args (str or list of str) – Color specifications. i-th match is colored with i-th element
- Returns
Colorized string.
- Return type
str
-
classmethod
-
class
nutcli.utils.
LogExecutionPrinter
(skip_self=True, logger=None)¶ Bases:
object
Print exact function call to the information logs.
You can use this in conjunction with
nutcli.decorators.LogExecution
andnutcli.decorators.SideEffect
.- Parameters
skip_self (bool, optional) – If True the first parameter named ‘self’ will be skipped, defaults to True
logger (logger, optional) – Logger, defaults to None (=
nutcli.message
)
-
__call__
(message, function, args, kwargs)¶ Produce the log message.
- Parameters
message (str) – The message.
function (callable) – Function that was called.
args (list of any) – Function positional arguments.
kwargs (dict of str:any) – Function keyword arguments.
If
message
is notNone
then only themessage
is printed to the log. Otherwise the function execution is produced.