leapp.libraries.stdlib package
Module contents
leapp.libraries.stdlib
represents a location for functions that otherwise would be defined multiple times across leapp actors
and at the same time, they are really useful for other actors.
- exception leapp.libraries.stdlib.CalledProcessError(message, command, result)
Bases:
LeappErrorLeapp Call Process Exception Error.
Raised when the result of a called process is of a none zero return code.
Initialize CalledProcessError Exception. :param message: An CalledProcessError exception message. :param command: The command that has been executed, with its arguments. :param result: A non-zero whatever result that the command returned.
- property exit_code
Retrieve the exit code. :return: An exit code.
- property pid
Retrieve the pid of the finished process. :return: The pid of the process.
- property signal
Retrieve the signal which the process was signalled by. :return: A signal that the process received.
- property stderr
Retrieve the stderr. :return: Standard Error.
- property stdout
Retrieve the stdout. :return: Standard Output.
- leapp.libraries.stdlib.run(args, split=False, callback_raw=<function _console_logging_handler>, callback_linebuffered=<function _logfile_logging_handler>, env=None, checked=True, stdin=None, encoding='utf-8')
Run a command and return its result as a dict.
The execution of the program and it’s results are captured by the audit.
- Parameters:
args (list or tuple) – Command to execute
split (bool) – Split the output on newlines
callback_raw ((fd: int, buffer: bytes) -> None) – Optional custom callback executed on raw data to print in console
env (dict) – Environment variables to use for execution of the command
checked (bool) – Raise an exception on a non-zero exit code, default True
stdin (int, str) – String or a file descriptor that will be written to stdin of the child process
- Returns:
{‘stdout’ : stdout, ‘stderr’: stderr, ‘signal’: signal, ‘exit_code’: exit_code, ‘pid’: pid}
- Return type:
dict
- Raises:
OSError if an executable is missing or has wrong permissions
- Raises:
CalledProcessError if the cmd has non-zero exit code and checked is True
- Raises:
TypeError if any input parameters have an invalid type
- Raises:
valueError if any of input parameters have an invalid value
This module implements a convenience API for actions that are accessible to actors.
Any code that wants use this convenience library has to be called from within the actors context. This is true for actors, actor private libraries and repository libraries.
- leapp.libraries.stdlib.api.actor_files_paths()
Returns the file paths that are bundled with the actor. (Path to the content of the actor’s file directory).
- leapp.libraries.stdlib.api.actor_tools_paths()
Returns the tool paths that are bundled with the actor. (Path to the content of the actor’s tools directory).
- leapp.libraries.stdlib.api.common_files_paths()
Returns all common repository file paths.
- leapp.libraries.stdlib.api.common_tools_paths()
Returns all common repository tool paths.
- leapp.libraries.stdlib.api.consume(*models)
Retrieve messages specified in the actors
consumesattribute, and filter message types by models.- Parameters:
models (Variable number of the derived classes from
leapp.models.Model) – Models to use as a filter for the messages to return
- leapp.libraries.stdlib.api.current_actor()
Retrieve the Actor class instance of the current active actor. :return: Instance of the currently instantiated actor. :rtype: leapp.actors.Actor
- leapp.libraries.stdlib.api.current_logger()
Retrieve the logger of the current active actor. :return: Logger instance for the current actor. :rtype: logging.Logger
- leapp.libraries.stdlib.api.files_paths()
Returns all actor file paths related to the actor and common actors file paths.
- leapp.libraries.stdlib.api.get_actor_file_path(name)
Finds the first matching file path within
files_paths.- Parameters:
name (str) – Name of the file
- Returns:
Found file path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_actor_folder_path(name)
Finds the first matching folder path within
files_paths.- Parameters:
name (str) – Name of the folder
- Returns:
Found folder path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_actor_tool_path(name)
Finds the first matching executable file path within
actor_tools_paths.- Parameters:
name (str) – Name of the file
- Returns:
Found file path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_answers(dialog)
Get the answers for a dialog from answerfile. The dialog needs be predefined in
dialogsof the actor.- Parameters:
dialog – Dialog instance to show
- Returns:
dictionary with the requested answers, None if not a defined dialog
- leapp.libraries.stdlib.api.get_common_file_path(name)
Finds the first matching file path within
files_paths.- Parameters:
name (str) – Name of the file
- Returns:
Found file path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_common_folder_path(name)
Finds the first matching folder path within
files_paths.- Parameters:
name (str) – Name of the folder
- Returns:
Found folder path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_common_tool_path(name)
Finds the first matching executable file path within
common_tools_paths.- Parameters:
name (str) – Name of the file
- Returns:
Found file path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_file_path(name)
Finds the first matching file path within
files_paths.- Parameters:
name (str) – Name of the file
- Returns:
Found file path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_folder_path(name)
Finds the first matching folder path within
files_paths.- Parameters:
name (str) – Name of the folder
- Returns:
Found folder path
- Return type:
str or None
- leapp.libraries.stdlib.api.get_tool_path(name)
Finds the first matching executable file path within
tools_paths.- Parameters:
name (str) – Name of the file
- Returns:
Found file path
- Return type:
str or None
- leapp.libraries.stdlib.api.produce(*model_instances)
By calling produce, model instances are stored as messages. Those messages can be then consumed by other actors.
- Parameters:
model_instances (Variable number of instances of derived classes from
leapp.models.Model) – Messages to be sent (those model types have to be specified inproduces
- leapp.libraries.stdlib.api.report_error(message, severity='error', details=None)
Reports an execution error
- Parameters:
message (str) – A message to print the possible error
severity (str with defined values from
leapp.messaging.errors.ErrorSeverity.ERROR) – Severity of the error defaultleapp.messaging.errors.ErrorSeverity.ERRORdetails (dict) – A dictionary where additional context information is passed along with the error
- Returns:
None
- leapp.libraries.stdlib.api.retrieve_config()
Retrieve the configuration specific to the specified schema.
- leapp.libraries.stdlib.api.show_message(message)
Display a message in user interterface currently in use (CLI, GUI).
It uses one of the dialog renderers in
leapp.dialogs.renderer.- Parameters:
message (str) – Message to show
- leapp.libraries.stdlib.api.tools_paths()
Returns all actor tools paths related to the actor and common actors tools paths.