From a603a2e0e675f56e989d29779c90ae80da41c10a Mon Sep 17 00:00:00 2001 From: void Date: Sat, 31 Jan 2026 20:58:46 +0300 Subject: [PATCH] fix: add missing timeouts to server accessor --- source/ftrack_api/accessor/server.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/ftrack_api/accessor/server.py b/source/ftrack_api/accessor/server.py index da6b0262..c3f41adb 100644 --- a/source/ftrack_api/accessor/server.py +++ b/source/ftrack_api/accessor/server.py @@ -4,7 +4,6 @@ import os import hashlib import base64 -import json import requests @@ -22,6 +21,7 @@ def __init__(self, resource_identifier, session, mode="rb"): self.mode = mode self.resource_identifier = resource_identifier self._session = session + self._timeout = session.request_timeout self._has_read = False super(ServerFile, self).__init__() @@ -54,6 +54,7 @@ def _read(self): "apiKey": self._session.api_key, }, stream=True, + timeout=self._timeout, ) try: @@ -105,7 +106,10 @@ def _write(self): # Put the file based on the metadata. response = requests.put( - metadata["url"], data=self.wrapped_file, headers=metadata["headers"] + metadata["url"], + data=self.wrapped_file, + headers=metadata["headers"], + timeout=self._timeout, ) try: @@ -153,6 +157,7 @@ def __init__(self, session, **kw): super(_ServerAccessor, self).__init__(**kw) self._session = session + self._timeout = session.request_timeout def open(self, resource_identifier, mode="rb"): """Return :py:class:`~ftrack_api.Data` for *resource_identifier*.""" @@ -167,6 +172,7 @@ def remove(self, resourceIdentifier): "username": self._session.api_user, "apiKey": self._session.api_key, }, + timeout=self._timeout, ) if response.status_code != 200: raise ftrack_api.exception.AccessorOperationFailedError(