Skip to content

youtube_dl & internal backends are obsolete #329

@elig0n

Description

@elig0n

youtube_dl is obsolete. yt-dlp replaced it but its backend needs to be implemented.

>>> import pafy
>>> pafy.new("https://www.youtube.com/watch?v=bMt47wvK6u0")
ERROR: Unable to extract uploader id; please report this issue 
on https://yt-dl.org/bug . Make sure you are using the latest v
ersion; see  https://yt-dl.org/update  on how to update. Be sur
e to call youtube-dl with the --verbose flag and include its co
mplete output.
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    pafy.new("https://www.youtube.com/watch?v=bMt47wvK6u0")
  File "/home/user/.local/lib/python3.10/site-packages/pafy/pafy.py", line 124, in new
    return Pafy(url, basic, gdata, size, callback, ydl_opts=ydl_opts)
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_youtube_dl.py", line 31, in __init__
    super(YtdlPafy, self).__init__(*args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_shared.py", line 97, in __init__
    self._fetch_basic()
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_youtube_dl.py", line 43, in _fetch_basic
    raise IOError(str(e).replace('YouTube said', 'Youtube says'
))
OSError: ERROR: Unable to extract uploader id; please report th
is issue on https://yt-dl.org/bug . Make sure you are using the
 latest version; see  https://yt-dl.org/update  on how to updat
e. Be sure to call youtube-dl with the --verbose flag and inclu
de its complete output.

Internal backend looks outdated as well:

>>> import pafy
>>> pafy.new("https://www.youtube.com/watch?v=bMt47wvK6u0")
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    pafy.new("https://www.youtube.com/watch?v=bMt47wvK6u0")
  File "/home/user/.local/lib/python3.10/site-packages/pafy/pafy.py", line 124, in new
    return Pafy(url, basic, gdata, size, callback, ydl_opts=ydl_opts)
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_internal.py", line 42, in __init_
_
    super(InternPafy, self).__init__(*args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_shared.py", line 97, in __init__
    self._fetch_basic()
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_internal.py", line 50, in _fetch_
basic
    allinfo = get_video_info(self.videoid, self.callback)
  File "/home/user/.local/lib/python3.10/site-packages/pafy/backend_internal.py", line 271, in get_vi
deo_info
    sts = re.search(r'sts"\s*:\s*(\d+)', embed_webpage).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions