dmunozv04 / iSponsorBlockTV

SponsorBlock client for all YouTube TV clients.
GNU General Public License v3.0
2.21k stars 92 forks source link

"Invalid variable type" error w/ some videos #66

Closed JoshCooley closed 9 months ago

JoshCooley commented 9 months ago

To Reproduce Steps to reproduce the behavior:

  1. Start app
  2. Go to any video with skip segment less than 1 second apart (e.g. https://youtu.be/fXb02MQ78yQ)
  3. Jump right before ads (e.g. https://youtu.be/fXb02MQ78yQ?t=593)
  4. See error:
    future: <Task finished name='Task-52' coro=<ApiHelper.mark_viewed_segments() done, defined at /Users/joombaga/projects/iSponsorBlockTV/iSponsorBlockTV/api_helpers.py:148> exception=TypeError("Invalid variable type: value should be str, int or float, got ['9e7cdc02c4495f7480f0792e005d29374e47d1fc99d7e3a57b16b53d958a8d166', ['9e1217491467df90bc592be7133dc2549b7cd55d4d280c4241c86dcd7e3e36cb6']] of type <class 'list'>")>
    Traceback (most recent call last):
    File "/Users/joombaga/projects/iSponsorBlockTV/iSponsorBlockTV/api_helpers.py", line 155, in mark_viewed_segments
    await self.web_session.post(url, params=params)
    File "/Users/joombaga/projects/iSponsorBlockTV/venv/lib/python3.11/site-packages/aiohttp/client.py", line 534, in _request
    req = self._request_class(
          ^^^^^^^^^^^^^^^^^^^^
    File "/Users/joombaga/projects/iSponsorBlockTV/venv/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 280, in __init__
    url2 = url.with_query(params)
           ^^^^^^^^^^^^^^^^^^^^^^
    File "/Users/joombaga/projects/iSponsorBlockTV/venv/lib/python3.11/site-packages/yarl/_url.py", line 1007, in with_query
    new_query = self._get_str_query(*args, **kwargs) or ""
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/Users/joombaga/projects/iSponsorBlockTV/venv/lib/python3.11/site-packages/yarl/_url.py", line 968, in _get_str_query
    query = "&".join(self._query_seq_pairs(quoter, query.items()))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/Users/joombaga/projects/iSponsorBlockTV/venv/lib/python3.11/site-packages/yarl/_url.py", line 929, in _query_seq_pairs
    yield quoter(key) + "=" + quoter(cls._query_var(v))
                                     ^^^^^^^^^^^^^^^^^
    File "/Users/joombaga/projects/iSponsorBlockTV/venv/lib/python3.11/site-packages/yarl/_url.py", line 946, in _query_var
    raise TypeError(
    TypeError: Invalid variable type: value should be str, int or float, got ['9e7cdc02c4495f7480f0792e005d29374e47d1fc99d7e3a57b16b53d958a8d166', ['9e1217491467df90bc592be7133dc2549b7cd55d4d280c4241c86dcd7e3e36cb6']] of type <class 'list'>

Expected behavior App should skip ad without error.

iSponsorBlockTV server (please complete the following information):