1#!/usr/local/bin/perl 2 3BEGIN { $| = 1; } 4use Image::Grab; 5use diagnostics; 6 7# You need cookies for www.chron.com for this to work. 8# See http://www.chron.com/content/comics 9 10# Net connection? 11if(!-f "t/have_network") { 12 print "1..0\n"; 13 exit 0; 14} 15 16if(-f "$ENV{HOME}/.netscape/cookies") { 17 open(COOKIE, "$ENV{HOME}/.netscape/cookies"); 18 unless (grep {/www.chron.com/} <COOKIE>) { 19 print "1..0\n"; 20 close(COOKIE); 21 exit 0; 22 } 23 close(COOKIE); 24} else { 25 print "1..0\n"; 26 exit 0; 27} 28 29my $toons = [ 30# These require cookies 31{Name => "One Big Happy", 32 url => "http://www.chron.com/content/chronicle/comics/One_Big_Happy.g.gif", 33 "link" => "http://www.chron.com/content/comics", 34 }, 35{Name => "9 Chickweed Lane", 36 url => "http://www.chron.com/content/chronicle/comics/9_Chickweed_Lane.g.gif", 37 "link" => "http://www.chron.com/content/comics", 38 }, 39{Name => "Liberty Meadows", 40 url => "http://www.chron.com/content/chronicle/comics/Liberty_Meadows.g.gif", 41 "link" => "http://www.chron.com/content/comics", 42}]; 43 44print "1..", $#{$toons} + 1,"\n"; 45my $num=0; 46my $name; 47foreach (@$toons) { 48 $num++; 49 $name = $_->{Name}; 50 print "$name\n"; 51 $comic->{$name} = new Image::Grab; 52 $comic->{$name}->url($_->{url}) if defined $_->{url}; 53 $comic->{$name}->refer($_->{refer}) if defined $_->{refer}; 54 $comic->{$name}->regexp($_->{regexp}) if defined $_->{regexp}; 55 56 print "\turl: ", $_->{url}, "\n" if defined $_->{url}; 57 print "\trefer: ", $_->{refer}, "\n" if defined $_->{refer}; 58 print "\tregexp: ", $_->{regexp}, "\n" if defined $_->{regexp}; 59 print "\treal: ", $comic->{$name}->expand_url, "\n"; 60# getAllURLs should really be fixed so that it only has to fetch once. 61 print "\t\t", join("\n\t\t", $comic->{$name}->getAllURLs), "\n" if $_->{refer}; 62 63 print "ok $num\n"; 64} 65