Source code for spython.instance.cmd

# Copyright (C) 2017-2022 Vanessa Sochat.

# This Source Code Form is subject to the terms of the
# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed
# with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


[docs]def generate_instance_commands(): """The Instance client holds the Singularity Instance command group The levels of verbosity (debug and quiet) are passed from the main client via the environment variable MESSAGELEVEL. """ from spython.instance import Instance from spython.main.base.logger import println from spython.main.instances import list_instances from spython.utils import run_command as run_cmd # run_command uses run_cmd, but wraps to catch error from spython.main.base.command import init_command, run_command from spython.main.base.generate import RobotNamer from .start import start from .stop import stop from .logs import error_logs, output_logs, _logs Instance.RobotNamer = RobotNamer() Instance._init_command = init_command Instance.run_command = run_cmd Instance._run_command = run_command Instance._list = list_instances # list command is used to get metadata Instance._println = println Instance.start = start # intended to be called on init, not by user Instance.stop = stop Instance.error_logs = error_logs Instance.output_logs = output_logs Instance._logs = _logs # Give an instance the ability to breed :) Instance.instance = Instance return Instance