diff --git a/pyproject.toml b/pyproject.toml index 2f04c858b..f7cc4f9bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uipath" -version = "2.1.51" +version = "2.1.52" description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools." readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.10" diff --git a/src/uipath/_services/attachments_service.py b/src/uipath/_services/attachments_service.py index 5da302e0e..9cc2819d2 100644 --- a/src/uipath/_services/attachments_service.py +++ b/src/uipath/_services/attachments_service.py @@ -13,6 +13,7 @@ from .._utils import Endpoint, RequestSpec, header_folder from .._utils._ssl_context import get_httpx_client_kwargs from .._utils.constants import TEMP_ATTACHMENTS_FOLDER +from ..models.exceptions import EnrichedException from ..tracing._traced import traced from ._base_service import BaseService @@ -130,9 +131,9 @@ def download( file.write(chunk) return attachment_name - except Exception as e: + except EnrichedException as e: # If not found in UiPath, check local storage - if "404" in str(e): + if e.status_code == 404: # Check if file exists in temp directory if os.path.exists(self._temp_dir): # Look for any file starting with our UUID @@ -151,11 +152,7 @@ def download( shutil.copy2(local_file, destination_path) return original_name - - # Re-raise the original exception if we can't find it locally - raise Exception( - f"Attachment with key {key} not found in UiPath or local storage" - ) from e + raise e @traced(name="attachments_download", run_type="uipath") async def download_async( @@ -248,9 +245,9 @@ async def main(): file.write(chunk) return attachment_name - except Exception as e: + except EnrichedException as e: # If not found in UiPath, check local storage - if "404" in str(e): + if e.status_code == 404: # Check if file exists in temp directory if os.path.exists(self._temp_dir): # Look for any file starting with our UUID @@ -270,10 +267,7 @@ async def main(): return original_name - # Re-raise the original exception if we can't find it locally - raise Exception( - f"Attachment with key {key} not found in UiPath or local storage" - ) from e + raise e @overload def upload(