In some random instances, calling find_by_id() raises an TMDbException due to some error decompressing data.
This consistently happens with find_by_id(tvdb_id='445866') which is this episode.
Reproduce with:
from tmdbapis import TMDbAPIs
api = TMDbAPIs(api_key)
api.find_by_id(tvdb_id='445866')
Full traceback is:
Traceback (most recent call last):
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/urllib3/response.py", line 406, in _decode
data = self._decoder.decompress(data)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/urllib3/response.py", line 93, in decompress
ret += self._obj.decompress(data)
zlib.error: Error -3 while decompressing data: incorrect header check
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/requests/models.py", line 816, in generate
yield from self.raw.stream(chunk_size, decode_content=True)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/urllib3/response.py", line 623, in stream
for line in self.read_chunked(amt, decode_content=decode_content):
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/urllib3/response.py", line 819, in read_chunked
decoded = self._decode(
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/urllib3/response.py", line 409, in _decode
raise DecodeError(
urllib3.exceptions.DecodeError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect header check'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/api3.py", line 75, in _request
self.response = self._session.get(request_url, params=url_params)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/requests/sessions.py", line 600, in get
return self.request("GET", url, **kwargs)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/requests/sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/requests/sessions.py", line 745, in send
r.content
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/requests/models.py", line 899, in content
self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b""
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/requests/models.py", line 820, in generate
raise ContentDecodingError(e)
requests.exceptions.ContentDecodingError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect header check'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/CollinHeist/Downloads/testing/test.py", line 6, in <module>
api.find_by_id(tvdb_id='445866')
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/tmdb.py", line 867, in find_by_id
return FindResults(self, tvdb_id, "tvdb_id")
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/objs/simple.py", line 151, in __init__
super().__init__(tmdb, None)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/objs/base.py", line 21, in __init__
self._load(data)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/objs/simple.py", line 154, in _load
super()._load(self._api.find_find_by_id(self._external_id, self._external_source, language=self._tmdb.language))
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/api3.py", line 970, in find_find_by_id
return self._get(
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/api3.py", line 42, in _get
return self._request("get", path, **kwargs)
File "/Users/CollinHeist/.local/share/virtualenvs/CollinHeist-n9hsrS8j/lib/python3.9/site-packages/tmdbapis/api3.py", line 78, in _request
raise TMDbException(f"Failed to Connect to {base_url}: {e}")
tmdbapis.exceptions.TMDbException: Failed to Connect to https://api.themoviedb.org/3: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect header check'))
This might be a TMDb API problem, because performing the raw request in a browser with this URL:
Version Number
1.0.6
Describe the Bug
In some random instances, calling
find_by_id()
raises anTMDbException
due to some error decompressing data.This consistently happens with
find_by_id(tvdb_id='445866')
which is this episode.Reproduce with:
Full traceback is:
This might be a TMDb API problem, because performing the raw request in a browser with this URL:
Returns this webpage (when it should be a JSON package):