diff --git a/cas_wrapper.py b/cas_wrapper.py index 945e7bc..8e7b26a 100644 --- a/cas_wrapper.py +++ b/cas_wrapper.py @@ -79,6 +79,30 @@ class CasWrapper: result_of_execution = command() return json.loads(result_of_execution)['hash'] + def notarize_no_exc( + self, + local_path: str, + metadata: typing.Dict = None, + ) -> typing.Tuple[bool, str]: + """ + Wrapper for avoiding raising exceptions during notarization. + Return `success` flag instead for library user to react respectively. + :param local_path: path to a local Git repo + :param metadata: additional metadata + :return: boolean flag for operation success and the hash + of the notarized artifact. + :rtype: tuple + """ + success = False + try: + cas_hash = self.notarize(local_path, metadata=metadata) + success = True + except Exception: + self._logger.exception('Cannot notarize artifact: %s', + local_path) + cas_hash = '' + return success, cas_hash + def authenticate( self, local_path: str, diff --git a/setup.py b/setup.py index 8cca4ab..08ed08a 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="cas_wrapper", - version="0.0.4", + version="0.0.5", author="Stepan Oksanichenko", author_email="soksanichenko@almalinux.org", description="The python wrapper around binary cas from "