|
|
| version 1.8, 2013/02/05 14:31:57 | version 1.15, 2015/01/19 13:46:19 |
|---|---|
| Line 1 | Line 1 |
| #!/usr/bin/perl -w | #!/usr/bin/perl -w |
| ############################################################################### | |
| # $Log$ | |
| # 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; |
| Line 9 use Getopt::Long; | Line 16 use Getopt::Long; |
| ## | ## |
| ## 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 35 print STDOUT "Starting comic fetch at $D | Line 42 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 101 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 116 sub readComicConfig ($$) { | Line 135 sub readComicConfig ($$) { |
| ####################################################################### | ####################################################################### |
| sub writeComic ($$) { | sub writeComic ($$) { |
| my ( $comics, $comic, $date ) = @_; | my ( $comics, $comic, $date ) = @_; |
| my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . | my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); |
| $date->{'day2'} . ".html"; | my $indexFile = $indexDir . "/index-" . $date->{'year2'} . |
| $date->{'mon2'} . $date->{'day2'} . "-" . | |
| $sd . ".html"; | |
| my $content = <<EOF; | my $content = <<EOF; |
| <!-- ********* Begin $comic ($comics->{$comic}{'fullName'}) ******* --> | <!-- ********* Begin $comic ($comics->{$comic}{'fullName'}) ******* --> |
| Line 170 sub writeMainIndex ($$) { | Line 191 sub writeMainIndex ($$) { |
| ####################################################################### | ####################################################################### |
| sub writeFooter { | sub writeFooter { |
| my ( $date ) = @_; | my ( $date ) = @_; |
| my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . | my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); |
| $date->{'day2'} . ".html"; | my $indexFile = $indexDir . "/index-" . $date->{'year2'} . |
| $date->{'mon2'} . $date->{'day2'} . "-" . | |
| $sd . ".html"; | |
| my $sysDate = `date`; | my $sysDate = `date`; |
| open INDEX, ">>$indexFile"; | open INDEX, ">>$indexFile"; |
| Line 208 sub checkDir ($$) { | Line 231 sub checkDir ($$) { |
| ####################################################################### | ####################################################################### |
| sub writeTitle ($$) { | sub writeTitle ($$) { |
| my ( $date ) = @_; | my ( $date ) = @_; |
| my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . | my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); |
| $date->{'day2'} . ".html"; | my $indexFile = $indexDir . "/index-" . $date->{'year2'} . |
| $date->{'mon2'} . $date->{'day2'} . "-" . | |
| $sd . ".html"; | |
| my $today = $days[$date->{'dow'}] . " " . $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; | my $today = $days[$date->{'dow'}] . " " . $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; |
| open INDEX, ">$indexFile"; | open INDEX, ">$indexFile"; |
| Line 219 sub writeTitle ($$) { | Line 244 sub writeTitle ($$) { |
| <html xmlns="http://www.w3.org/1999/xhtml"> | <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> | <head> |
| <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> | <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> |
| <link href="/daily/comics/comics.css" type="text/css" rel="stylesheet" media="screen"> | |
| <title>Daily Comics for $today</title> | <title>Daily Comics for $today</title> |
| </head> | </head> |
| <body bgcolor="#FFFFFF"> | <body bgcolor="#FFFFFF"> |
| Line 241 sub directDownload ($$) { | Line 267 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); |
| } | } |