diff --git a/blender_asset_tracer/pack/shaman/__init__.py b/blender_asset_tracer/pack/shaman/__init__.py index 25b14c2..acf24b4 100644 --- a/blender_asset_tracer/pack/shaman/__init__.py +++ b/blender_asset_tracer/pack/shaman/__init__.py @@ -55,7 +55,9 @@ class ShamanPacker(bat_pack.Packer): def _get_auth_token(self) -> str: # TODO: get a token from the Flamenco Server. log.warning('Using temporary hack to get auth token from Shaman') - resp = requests.get(urllib.parse.urljoin(self.shaman_endpoint, 'get-token')) + resp = requests.get(urllib.parse.urljoin(self.shaman_endpoint, 'get-token'), + timeout=10) + resp.raise_for_status() return resp.text def _create_file_transferer(self) -> bat_transfer.FileTransferer: diff --git a/blender_asset_tracer/pack/shaman/client.py b/blender_asset_tracer/pack/shaman/client.py index 76b7dfa..bcbe231 100644 --- a/blender_asset_tracer/pack/shaman/client.py +++ b/blender_asset_tracer/pack/shaman/client.py @@ -37,6 +37,7 @@ class ShamanClient: self._session.headers['Authorization'] = 'Bearer ' + auth_token def request(self, method: str, url: str, **kwargs) -> requests.Response: + kwargs.setdefault('timeout', 300) full_url = urllib.parse.urljoin(self._base_url, url) return self._session.request(method, full_url, **kwargs) diff --git a/blender_asset_tracer/pack/shaman/transfer.py b/blender_asset_tracer/pack/shaman/transfer.py index c1be4b4..d24b937 100644 --- a/blender_asset_tracer/pack/shaman/transfer.py +++ b/blender_asset_tracer/pack/shaman/transfer.py @@ -189,7 +189,8 @@ class ShamanTransferrer(bat_transfer.FileTransferer): need to be uploaded, or None if there was an error. """ resp = self.client.post('checkout/requirements', data=definition_file, stream=True, - headers={'Content-Type': 'text/plain'}) + headers={'Content-Type': 'text/plain'}, + timeout=15) if resp.status_code >= 300: msg = 'Error from Shaman, code %d: %s' % (resp.status_code, resp.text) self.log.error(msg)