ALBS-639: Create a CLI tool to generate SBOM #4
@ -13,16 +13,20 @@ class CasWrapper:
|
||||
|
||||
binary_name = 'cas'
|
||||
|
||||
@classmethod
|
||||
def _is_binary_present(cls):
|
||||
if cls.binary_name not in local:
|
||||
raise FileNotFoundError(
|
||||
'Binary CAS is not found in PATH on the machine',
|
||||
)
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
cas_api_key: str,
|
||||
cas_signer_id: str,
|
||||
logger: logging.Logger = None,
|
||||
):
|
||||
if self.binary_name not in local:
|
||||
raise FileNotFoundError(
|
||||
'Binary CAS is not found in PATH on the machine',
|
||||
)
|
||||
self._is_binary_present()
|
||||
self._cas_api_key = cas_api_key
|
||||
self._cas_signer_id = cas_signer_id
|
||||
self._cas = local['cas']
|
||||
@ -30,6 +34,13 @@ class CasWrapper:
|
||||
if self._logger is None:
|
||||
self._logger = logging.getLogger()
|
||||
|
||||
@classmethod
|
||||
def get_version(cls):
|
||||
cls._is_binary_present()
|
||||
command = local['cas']['--version']
|
||||
version = command().split()[-1].split('v')[1]
|
||||
return version
|
||||
|
||||
def ensure_login(self):
|
||||
with local.env(
|
||||
CAS_API_KEY=self._cas_api_key,
|
||||
|
Loading…
Reference in New Issue
Block a user