mps-youtube / yewtube

yewtube, forked from mps-youtube , is a Terminal based YouTube player and downloader. No Youtube API key required.
GNU General Public License v3.0
8.07k stars 645 forks source link

KeyError thumbnails on search #1097

Closed AdrienLemaire closed 4 years ago

AdrienLemaire commented 4 years ago

Issue / Suggestion

Search results for brahms                                                                                                                                                                    [1/10>
> Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.8/site-packages/mps_youtube/streams.py", line 180, in _preload
    streamlist = get(song)
  File "/usr/lib/python3.8/site-packages/mps_youtube/streams.py", line 51, in get
    p = util.get_pafy(vid, force=force, callback=callback)
  File "/usr/lib/python3.8/site-packages/mps_youtube/util.py", line 205, in get_pafy
    p = pafy.new(ytid, callback=callback_fn)
  File "/usr/lib/python3.8/site-packages/pafy/pafy.py", line 124, in new
    return Pafy(url, basic, gdata, size, callback, ydl_opts=ydl_opts)
  File "/usr/lib/python3.8/site-packages/pafy/backend_youtube_dl.py", line 31, in __init__
    super(YtdlPafy, self).__init__(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/pafy/backend_shared.py", line 97, in __init__
    self._fetch_basic()
  File "/usr/lib/python3.8/site-packages/pafy/backend_youtube_dl.py", line 57, in _fetch_basic
    self._bestthumb = self._ydl_info['thumbnails'][0]['url']
KeyError: 'thumbnails'

Your Environment

Running on Arch Linux.

$  mpsyt --version
mpsyt version      : 0.2.8
   notes           : released 17 February 2018
pafy version       : 0.5.5 (youtube-dl backend)
youtube-dl version : 2020.06.06
Python version     : 3.8.3 (default, May 17 2020, 18:15:42)
[GCC 10.1.0]
Processor          :
Machine type       : x86_64
Architecture       : 64bit, ELF
Platform           : Linux-5.7.2-arch1-1-x86_64-with-glibc2.2.5
sys.stdout.enc     : utf-8
default enc        : utf-8
Config dir         : /home/dori/.config/mps-youtube
env:TERM           : screen-256color
env:SHELL          : /bin/zsh
env:LANG           : en_US.UTF-8
$ pacman -Qo /usr/lib/python3.8/threading.py
/usr/lib/python3.8/threading.py is owned by python 3.8.3-1
$ grep -iE 'upgraded python ' /var/log/pacman.log
[2020-05-20T13:56:39+0900] [ALPM] upgraded python (3.8.2-2 -> 3.8.3-1)
$ grep -iE 'upgraded python-pafy' /var/log/pacman.log
[2019-12-27T10:07:59+0900] [ALPM] upgraded python-pafy (0.5.4-5 -> 0.5.5-1)

I'm afraid I have no idea what caused mpsyt to suddenly break. It was working fine on Friday.

gaurav-dixitv commented 4 years ago

Updating youtube-dl should fix this. Related to ytdl-org/youtube-dl#25676.

AdrienLemaire commented 4 years ago

yes it did, I had forgotten about this issue