Export to GitHub

get-flash-videos - issue #491

Can't call method "request" on an undefined value


Posted on Apr 28, 2013 by Helpful Lion

What steps will reproduce the problem? 1. Fresh install on Raspberry Pi 2. ./get_flash_videos --play www.twitch.tv/riotgames 3. Crash

What version of the product are you using? On what operating system? ./get_flash_videos --version get_flash_videos version (http://code.google.com/p/get-flash-videos/) (Does not appear WTF) Just clone from git.

Please provide any additional information below.

pi@raspberrypi ~/Downloads $ git clone https://github.com/l337r007/get-flash-videos.git Cloning into 'get-flash-videos'... remote: Counting objects: 3336, done. remote: Compressing objects: 100% (1503/1503), done. remote: Total 3336 (delta 1762), reused 3219 (delta 1666) Receiving objects: 100% (3336/3336), 999.31 KiB | 271 KiB/s, done. Resolving deltas: 100% (1762/1762), done. pi@raspberrypi ~/Downloads $ ls get-flash-videos pi@raspberrypi ~/Downloads $ cd get-flash-videos/ pi@raspberrypi ~/Downloads/get-flash-videos $ ls bin debian doc get_flash_videos lib Makefile Makefile.PL MANIFEST.SKIP mk README t utils pi@raspberrypi ~/Downloads/get-flash-videos $ ./get_flash_videos --play www.twitch.tv/riotgames Can't call method "request" on an undefined value at /usr/share/perl5/WWW/Mechanize.pm line 553. pi@raspberrypi ~/Downloads/get-flash-videos $ ./get_flash_videos --play http://www.twitch.tv/riotgames Can't call method "request" on an undefined value at /usr/share/perl5/WWW/Mechanize.pm line 553. pi@raspberrypi ~/Downloads/get-flash-videos $ ./get_flash_videos --debug http://www.twitch.tv/riotgames &> get_flash_vide.log pi@raspberrypi ~/Downloads/get-flash-videos $ cat get_flash_vide.log No plugins installed Trying to open plugin ~/.get_flash_videos/plugins/Www.pm Trying to open plugin ~/.get_flash_videos/plugins/Twitch.pm Trying to open plugin ~/.get_flash_videos/plugins/Tv.pm Can't call method "request" on an undefined value at /usr/share/perl5/WWW/Mechanize.pm line 553.

Comment #1

Posted on Apr 28, 2013 by Massive Camel

This is using the Tv.pm Site, it is the Tv.pm that is calling the WWW::Mechanize, I can fix that.

The l337r007 github repository hasn't been updated since 28 Feb, there are newer changes on the master repository https://github.com/monsieurvideo/get-flash-videos, this would be where any changes to Tv.pm will go.

Fixing Tv.pm, could still result in twitch.tv being an unsupported site, if the Generic site handling doesn't work, and will require someone to create a Twitch.pm to support the site.

Comment #2

Posted on Apr 28, 2013 by Helpful Lion

Ok, fresh install then.

pi@raspberrypi ~ $ cd Downloads/

pi@raspberrypi ~/Downloads $ ls get-flash-videos

pi@raspberrypi ~/Downloads $ rm -rf *

pi@raspberrypi ~/Downloads $ git clone git://github.com/monsieurvideo/get-flash-videos.git Cloning into 'get-flash-videos'... remote: Counting objects: 4583, done. remote: Compressing objects: 100% (1911/1911), done. remote: Total 4583 (delta 2467), reused 4411 (delta 2307) Receiving objects: 100% (4583/4583), 1.18 MiB | 283 KiB/s, done. Resolving deltas: 100% (2467/2467), done.

pi@raspberrypi ~/Downloads/get-flash-videos $ ./get_flash_videos --play http://www.twitch.tv/riotgames Can't locate Module/Find.pm in @INC (@INC contains: /home/pi/Downloads/get-flash-videos/lib /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/pi/Downloads/get-flash-videos/lib/FlashVideo/URLFinder.pm line 5. BEGIN failed--compilation aborted at /home/pi/Downloads/get-flash-videos/lib/FlashVideo/URLFinder.pm line 5. Compilation failed in require at ./get_flash_videos line 40. BEGIN failed--compilation aborted at ./get_flash_videos line 40.

pi@raspberrypi ~/Downloads/get-flash-videos $ ./get_flash_videos --debug http://www.twitch.tv/riotgames &> get_flash_video.log

pi@raspberrypi ~/Downloads/get-flash-videos $ cat get_flash_video.log Can't locate Module/Find.pm in @INC (@INC contains: /home/pi/Downloads/get-flash-videos/lib /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/pi/Downloads/get-flash-videos/lib/FlashVideo/URLFinder.pm line 5. BEGIN failed--compilation aborted at /home/pi/Downloads/get-flash-videos/lib/FlashVideo/URLFinder.pm line 5. Compilation failed in require at ./get_flash_videos line 40. BEGIN failed--compilation aborted at ./get_flash_videos line 40.

pi@raspberrypi ~/Downloads/get-flash-videos $ perl --version

This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux-gnueabihf-thread-multi-64int (with 80 registered patches, see perl -V for more detail)

Copyright 1987-2011, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.

Comment #3

Posted on Apr 28, 2013 by Massive Camel

The newer versions requires the Module::Find module. For Debian it's the package libmodule-find-perl not sure if that helps for the Raspberrypi. I will look at fixing Tv.pm tomorrow, and then uploading into the repository.

Comment #4

Posted on Apr 29, 2013 by Massive Camel

Fixing TV.pm allow Generic.pm to be called, but this doesn't handle the www.twitch.tv site, a specific Site Twitch.pm is required.

Comment #5

Posted on Sep 22, 2013 by Happy Elephant

Has the fixed been released? (this is a question, not a complaint). From a fresh Git install, I'm still encountering the same error message:

$ ./get_flash_videos "http://lesverts.telequebec.tv/emissions/14/bebes-verts?videoId=15783" -d No plugins installed Trying to open plugin ~/.get_flash_videos/plugins/Lesverts.pm Trying to open plugin ~/.get_flash_videos/plugins/Telequebec.pm Trying to open plugin ~/.get_flash_videos/plugins/Tv.pm Can't call method "request" on an undefined value at /usr/share/perl5/WWW/Mechanize.pm line 553.

Ubuntu 13.10 (alpha/beta/something), libmodule-find-perl package installed.

Thanks!

Comment #6

Posted on Sep 22, 2013 by Massive Camel

Have a look at issue 197, there are specific downloads for Telequebec. Depends on your install, you should be able to place the Telequebec.pm into ~/.get_flash_videos/plugins directory, no idea if this works doesn't for me but might be restricted by location. If the plugin works, then it can be added to the code.

Comment #7

Posted on Sep 22, 2013 by Happy Elephant

Comment deleted

Status: Started

Labels:
Type-Defect Priority-Medium