urllib.parse.unquote gives an misleading error message when:
>>> import urllib
>>> urllib.parse.unquote(b'bytesurl')
*** TypeError: a bytes-like object is required, not 'str'
while:
>>> urllib.parse.unquote('texturl')
texturl
The correct behavior is to pass a string/text object to unquote. But passing a bytes object gives a misleading error message.
A fix would be to add an assertion in
https://github.com/python/cpython/blob/0250de48199552cdaed5a4fe44b3f9cdb5325363/Lib/urllib/parse.py#L614 like:
>>> assert isinstance(string, str) |