waft.warp_client.install_manager.install_manager_base module

class waft.warp_client.install_manager.install_manager_base.InstallManagerBase(node: BaseNode, warp_cli: WarpCliBase)

Bases: ABC

Base class for the InstallManager

abstract property build_dirname: str

Returns the name of the directory where the installer can be expected to be found

get_installed_warp_version() str

Return version of WARP currently installed on the system

abstractmethod get_installer_version(installer_path: PurePath) str | None

Read installer file and return version of WARP that would be installed :param installer_path: Path to installer on node

abstractmethod install(install_params: WarpParams | None = None, installer: str | None = None, version: str | None = None)

Perform installation using install manager

installer_file_ext: str
is_installed() bool

Checks to see if the client is installed. Returns True if it is, False if not.

locate_installer(local_disk=True, client_installer_name: str | None = None, version: str | None = None) Path

Locates an installer file either on the local disk or remotely.

Args:

client_installer_name (str, optional): Name of the installer file. local_disk (bool): True to search on the local disk, False to search remotely. version (str): String of version number to search for within artifact directory

Returns:

Path: Path to the installer.

Raises:

NotImplementedError: If local_disk is False, as remote searching is not supported yet. FileNotFoundError: If:

  • client_installer_name is given and no file of the given name is found

  • no file details are given and there are no files in the expected artifact directory

  • No file with the given version number is found in the artifact directory

ValueError: If there are multiple files in the artifact directory and no version number given

abstractmethod uninstall()

Perform uninstall

version_pattern: str = '([0-9]{4})\\.([0-9]{1,2})\\.([0-9]{1,3})([\\.\\-][0-9])'