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.09k stars 644 forks source link

SongData variable related crash #78

Closed ekianjo closed 10 years ago

ekianjo commented 10 years ago

Just tried to playback one song among others working fine, and I got the following crash:

Traceback (most recent call last):
File "/usr/local/bin/mpsyt", line 3362, in main() File "/usr/local/bin/mpsyt", line 3326, in main if matchfunction(k, v, userinput): File "/usr/local/bin/mpsyt", line 3232, in matchfunction globals()funcname File "/usr/local/bin/mpsyt", line 2226, in play play_range(songlist, shuffle, repeat, override) File "/usr/local/bin/mpsyt", line 2321, in play_range playsong(song, override=override) File "/usr/local/bin/mpsyt", line 1495, in playsong return playsong(song, failcount=failcount, override=override) File "/usr/local/bin/mpsyt", line 1495, in playsong return playsong(song, failcount=failcount, override=override) File "/usr/local/bin/mpsyt", line 1495, in playsong return playsong(song, failcount=failcount, override=override) File "/usr/local/bin/mpsyt", line 1497, in playsong songdata = "%s; %s; %s Mb" % songdata UnboundLocalError: local variable 'songdata' referenced before assignment

Python 2.7 here.

ekianjo commented 10 years ago

(I can reproduce it).

np1 commented 10 years ago

Hi ekianjo, if your version of pafy is less than 0.3.42, please try upgrading it.

To check pafy version: mpsyt --version

To upgrade: [sudo] pip install Pafy --upgrade

If you still have an issue after that, please let me know the steps you took to see that error. Thanks.

ekianjo commented 10 years ago

Here's the output of version

mpsyt version : 0.01.44 pafy version : 0.3.42 Python version : 2.7.3 (default, Apr 14 2012, 08:58:41) [GCC] Processor : x86_64 Machine type : x86_64 Architecture : 64bit, ELF Platform : Linux-3.4.63-2.44-desktop-x86_64-with-SuSE-12.2-x86_64

There was no need to upgrade Pafy, it says it's already the latest version when I try to upgrade.

np1 commented 10 years ago

please let me know the steps you took to see that error. Thanks.

ekianjo commented 10 years ago

Ok, will send you info later today.

ekianjo commented 10 years ago

Allright, so here's what I do

/tears for fears
14

and then it shows the error message I mentioned earlier.

np1 commented 10 years ago

It plays ok for me. I have tried a few settings combinations.

What do you have set for max_res, player, playerargs, search_music and show_video ?

ekianjo commented 10 years ago

Here it is. All default I believe.

max_res           : 2160p
player            : mplayer
playerargs        : 
search_music      : True
show_video        : False
np1 commented 10 years ago

Instead of playing item 14 could you enter i14 and let me know if your output differs from below to ensure we are testing the same video:

Video Info

Tears for Fears - Everybody Wants to Rule the World (Live)
Tears for Fears performing "Everybody Wants to Rule the World" Live at Night of the Proms (Belgium/France, 2007).

Author     : ogmuk
View count : 1535223
Rating     : 4.89
Category   : Music
Link       : https://youtube.com/watch?v=c8L_hLS21cw

Does it fail like this on many other items or is it just this one?
Are you able to download the ogg file using d14 ? You could try deleting the cachefile: rm ~/.config/mps-youtube/cache*

ekianjo commented 10 years ago

Interesting, 14 is not the same for me :P

This is 14 for me:

tears for fears - break it down again tears for fears - break it down again (1993)

Author : gustavo correa View count : 104159 Rating : 4.96 Category : Music Link : https://youtube.com/watch?v=avU60yqCD00

ekianjo commented 10 years ago

The video you selected as 14 appears as 6 for me, with the same meta data. And it plays fine for me. So please try the one I gave you above and let me know if you can reproduce the error on your side or not :)

np1 commented 10 years ago

Yes, I located the video and was able to reproduce your error output. If I try to download it with the "d" command it lists the ogg file as being 0mb. I have seen that before but it's quite an unusual case. I will create a fallback for it to play the item from a different stream.

ekianjo commented 10 years ago

Thanks! I'm glad it's not just me - seems like I'm really good at making stuff crash haha. By the way why do the search results appear to be different on your side vs mine?

np1 commented 10 years ago

I'm just glad you're not using that open pandora device today, with its fat32 filesystem and non-utf8 console its a hostile place!

I'm not sure why our search results are different, most likely the gdata api returning different results based on ip address.

This should be fixed now (https://github.com/np1/mps-youtube/commit/e3692aceba328597b9bc0c208fe52e5e8d169c9e) on branch issue78, I will merge it before the next release.

Feel free to test using the mpsyt on that branch.

ekianjo commented 10 years ago

I'm just glad you're not using that open pandora device today, with its fat32 filesystem and non-utf8 console its a hostile place!

Haha, I actually checked today if mps-youtube works on Open Pandora, and while it seems to work (program runs normally) it refuses to play any song (but does not crash). I'll have to come back to you on that :) Since it does not crash I am trying to isolate which part of the program does not work, first.

np1 commented 10 years ago

Ok, please open a separate issue when you get a chance and try running it with mpsyt --debug Thanks for all the bug reporting!

ekianjo commented 10 years ago

No problem! will post another issue then...

On Tue, May 13, 2014 at 11:07 PM, nagev notifications@github.com wrote:

Ok, please open a separate issue when you get a chance and try running it with mpsyt --debug Thanks for all the bug reporting!

— Reply to this email directly or view it on GitHubhttps://github.com/np1/mps-youtube/issues/78#issuecomment-42959240 .

Raphael