diff --git a/cas_wrapper.py b/cas_wrapper.py index 8e7b26a..976995a 100644 --- a/cas_wrapper.py +++ b/cas_wrapper.py @@ -108,6 +108,7 @@ class CasWrapper: local_path: str, return_json: bool = False, use_hash: bool = False, + signer_id: str = None, ): """ Wrapper around `cas authenticate` @@ -123,6 +124,8 @@ class CasWrapper: command_args = ['authenticate', local_path] if use_hash: command_args = ['authenticate', '--hash', local_path] + if signer_id: + command_args.extend(('--signerID', signer_id)) command_args.extend(('-o', 'json')) command = self._cas[command_args] try: @@ -146,6 +149,7 @@ class CasWrapper: def authenticate_source( self, local_path: str, + signer_id: str = None, ) -> typing.Tuple[bool, typing.Optional[str]]: """ Authenticates source by git path. @@ -155,7 +159,11 @@ class CasWrapper: commit_cas_hash = None self.ensure_login() try: - result_json = self.authenticate(local_path, return_json=True) + result_json = self.authenticate( + local_path, + return_json=True, + signer_id=signer_id + ) is_authenticated = result_json['verified'] commit_cas_hash = result_json['hash'] # we can fall with ProcessExecutionError, @@ -168,6 +176,7 @@ class CasWrapper: self, local_path: str, use_hash: bool = False, + signer_id: str = None, ) -> bool: """ Authenticates artifact by artifact path or hash if `use_hash` is True. @@ -180,6 +189,7 @@ class CasWrapper: local_path, use_hash=use_hash, return_json=True, + signer_id=signer_id )['verified'] # we can fall with ProcessExecutionError, # because artifact can be not notarized diff --git a/setup.py b/setup.py index 08ed08a..13f550f 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="cas_wrapper", - version="0.0.5", + version="0.0.6", author="Stepan Oksanichenko", author_email="soksanichenko@almalinux.org", description="The python wrapper around binary cas from "