|
|
| version 1.13, 2013/03/12 13:09:34 | version 1.16, 2015/02/05 18:05:58 |
|---|---|
| Line 1 | Line 1 |
| #!/usr/bin/perl -w | #!/usr/bin/perl -w |
| ############################################################################### | |
| # $Log$ | |
| # Revision 1.16 2015/02/05 18:05:58 nick | |
| # Changed the background and added a fancy title. | |
| # | |
| # Revision 1.15 2015/01/19 13:46:19 nick | |
| # *** empty log message *** | |
| # | |
| ############################################################################### | |
| use strict; | use strict; |
| use File::Path; | use File::Path; |
| use Data::Dumper; | use Data::Dumper; |
| use Pod::Usage; | use Pod::Usage; |
| use Getopt::Long; | use Getopt::Long; |
| use Date::Calc qw/Date_to_Text_Long Today/; | |
| ## | ## |
| ## Some default values | ## Some default values |
| ## | ## |
| my $ver = q/$Id$/; | my $ver = '$Id$'; |
| my $comicFile = "comics.conf"; | my $comicFile = "comics.conf"; |
| my %comics = &readComicConfig ( $comicFile ); | my %comics = &readComicConfig ( $comicFile ); |
| my %opts = &fetchOptions( ); | my %opts = &fetchOptions( ); |
| Line 22 my $indexDir = $baseDir . "/" . ( $co | Line 34 my $indexDir = $baseDir . "/" . ( $co |
| my $USER_AGENT = "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110628 Ubuntu/10.10 (maverick) Firefox/3.6.18"; | my $USER_AGENT = "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110628 Ubuntu/10.10 (maverick) Firefox/3.6.18"; |
| my @days = qw/ Sunday Monday Tuesday Wednesday Thursday Friday Saturday /; | my @days = qw/ Sunday Monday Tuesday Wednesday Thursday Friday Saturday /; |
| my $DATE=`date`; chomp $DATE; | my $DATE=`date`; chomp $DATE; |
| print STDOUT "Starting comic fetch at $DATE\n"; | print STDOUT "Starting comic fetch at $DATE\n"; |
| Line 35 print STDOUT "Starting comic fetch at $D | Line 46 print STDOUT "Starting comic fetch at $D |
| foreach my $comic ( sort keys %comics ) { | foreach my $comic ( sort keys %comics ) { |
| next if ( $comic =~ m/config/ ); | next if ( $comic =~ m/config/ ); |
| if ( ( $dates{'day2'} eq "Sunday" ) && | |
| ( $comics{$comic}{'sunday'} == 0 ) ) { print "Skipping.\n"; next; } | |
| $comics{$comic}{'error'} = &downloadComic ( \%comics, $comic, \%dates ); | $comics{$comic}{'error'} = &downloadComic ( \%comics, $comic, \%dates ); |
| &writeComic ( \%comics, $comic, \%dates ); | &writeComic ( \%comics, $comic, \%dates ); |
| } | } |
| Line 92 sub readComicConfig ($$) { | Line 105 sub readComicConfig ($$) { |
| my %comicConfig = ( ); | my %comicConfig = ( ); |
| my %config = ( ); | my %config = ( ); |
| my ($year, $mon, $day) =( localtime(time))[5,4,3]; | |
| $year += 1900; | |
| $mon = sprintf("%02d", ($mon + 1)); | |
| $day = sprintf("%02d", $day); | |
| open FILEN, "<$comicFile"; | open FILEN, "<$comicFile"; |
| while (<FILEN>) { | while (<FILEN>) { |
| if ( ( $_ !~ m/^#/ ) && ( $_ =~ m/,.*,/) ){ | if ( ( $_ !~ m/^#/ ) && ( $_ =~ m/,.*,/) ){ |
| $_ =~ s/__YEAR__/$year/g; | |
| $_ =~ s/__MON__/$mon/g; | |
| $_ =~ s/__DAY__/$day/g; | |
| my @res = split /,/, $_; | my @res = split /,/, $_; |
| $comicConfig{$res[0]}{'url'} = $res[1]; | $comicConfig{$res[0]}{'url'} = $res[1]; |
| $comicConfig{$res[0]}{'search'} = $res[2]; | $comicConfig{$res[0]}{'search'} = $res[2]; |
| $comicConfig{$res[0]}{'mode'} = $res[3]; | $comicConfig{$res[0]}{'mode'} = $res[3]; |
| $comicConfig{$res[0]}{'fullName'} = $res[4]; | $comicConfig{$res[0]}{'fullName'} = $res[4]; |
| $comicConfig{$res[0]}{'ext'} = $res[5]; | $comicConfig{$res[0]}{'ext'} = $res[5]; |
| $comicConfig{$res[0]}{'sunday'} = $res[6] || 1; | |
| $comicConfig{$res[0]}{'error'} = 0; | $comicConfig{$res[0]}{'error'} = 0; |
| } | } |
| elsif ( $_ =~ m/(.*)\s+=\s+(.*)/ ) { | elsif ( $_ =~ m/(.*)\s+=\s+(.*)/ ) { |
| Line 217 sub writeTitle ($$) { | Line 240 sub writeTitle ($$) { |
| $date->{'mon2'} . $date->{'day2'} . "-" . | $date->{'mon2'} . $date->{'day2'} . "-" . |
| $sd . ".html"; | $sd . ".html"; |
| my $today = $days[$date->{'dow'}] . " " . $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; | my $today = $days[$date->{'dow'}] . " " . $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; |
| my $today_long = Date_to_Text_Long(Today()); | |
| open INDEX, ">$indexFile"; | open INDEX, ">$indexFile"; |
| print INDEX <<EOF; | print INDEX <<EOF; |
| Line 229 sub writeTitle ($$) { | Line 253 sub writeTitle ($$) { |
| <title>Daily Comics for $today</title> | <title>Daily Comics for $today</title> |
| </head> | </head> |
| <body bgcolor="#FFFFFF"> | <body bgcolor="#FFFFFF"> |
| <h1>Daily Comics for $today</h1> | |
| <table align="center" cellpadding="5" cellspacing="0"> | <table align="center" cellpadding="5" cellspacing="0"> |
| <tr><td> | |
| <table cellpadding="0" cellspacing="0" border="0"> | |
| <tr><td align="Left"><img src="images/daily_comics_heading01.png"></td></tr> | |
| <tr><td align="left">$today_long</td></tr> | |
| <tr><td> </td></tr> | |
| </td</tr> | |
| EOF | EOF |
| close (INDEX); | close (INDEX); |
| } | } |
| Line 248 sub directDownload ($$) { | Line 278 sub directDownload ($$) { |
| my $cDate = $date->{'day2'}; | my $cDate = $date->{'day2'}; |
| my $cmd = "wget -q $file --referer=\"" . $comics->{$comic}{'url'} ."\" --user-agent=\"$USER_AGENT\" -O - | /usr/bin/convert - jpeg:images/$cDir/$comic-$cDate.jpg"; | my $cmd = "wget -q $file --referer=\"" . $comics->{$comic}{'url'} ."\" --user-agent=\"$USER_AGENT\" -O - | /usr/bin/convert - jpeg:images/$cDir/$comic-$cDate.jpg"; |
| return system($cmd); | return system($cmd); |
| } | } |