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