--- comics/fetch.pl.new 2013/02/25 13:48:21 1.9 +++ comics/fetch.pl.new 2015/01/16 14:17:56 1.14 @@ -9,7 +9,7 @@ use Getopt::Long; ## ## Some default values ## -my $ver = q/$Id: fetch.pl.new,v 1.9 2013/02/25 13:48:21 nick Exp $/; +my $ver = q/$Id: fetch.pl.new,v 1.14 2015/01/16 14:17:56 nick Exp $/; my $comicFile = "comics.conf"; my %comics = &readComicConfig ( $comicFile ); my %opts = &fetchOptions( ); @@ -35,6 +35,8 @@ print STDOUT "Starting comic fetch at $D foreach my $comic ( sort keys %comics ) { 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 ); &writeComic ( \%comics, $comic, \%dates ); } @@ -92,15 +94,25 @@ sub readComicConfig ($$) { my %comicConfig = ( ); 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"; while () { if ( ( $_ !~ m/^#/ ) && ( $_ =~ m/,.*,/) ){ + $_ =~ s/__YEAR__/$year/g; + $_ =~ s/__MON__/$mon/g; + $_ =~ s/__DAY__/$day/g; + my @res = split /,/, $_; $comicConfig{$res[0]}{'url'} = $res[1]; $comicConfig{$res[0]}{'search'} = $res[2]; $comicConfig{$res[0]}{'mode'} = $res[3]; $comicConfig{$res[0]}{'fullName'} = $res[4]; $comicConfig{$res[0]}{'ext'} = $res[5]; + $comicConfig{$res[0]}{'sunday'} = $res[6] || 1; $comicConfig{$res[0]}{'error'} = 0; } elsif ( $_ =~ m/(.*)\s+=\s+(.*)/ ) { @@ -116,9 +128,10 @@ sub readComicConfig ($$) { ####################################################################### sub writeComic ($$) { my ( $comics, $comic, $date ) = @_; - my $indexFile = $indexDir . "/index-" . $days[$date->{'dow'}] . - "-" . $date->{'year2'} . $date->{'mon2'} . - $date->{'day2'} . ".html"; + my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); + my $indexFile = $indexDir . "/index-" . $date->{'year2'} . + $date->{'mon2'} . $date->{'day2'} . "-" . + $sd . ".html"; my $content = <{$comic}{'fullName'}) ******* --> @@ -171,8 +184,10 @@ sub writeMainIndex ($$) { ####################################################################### sub writeFooter { my ( $date ) = @_; - my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . - $date->{'day2'} . ".html"; + my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); + my $indexFile = $indexDir . "/index-" . $date->{'year2'} . + $date->{'mon2'} . $date->{'day2'} . "-" . + $sd . ".html"; my $sysDate = `date`; open INDEX, ">>$indexFile"; @@ -209,8 +224,10 @@ sub checkDir ($$) { ####################################################################### sub writeTitle ($$) { my ( $date ) = @_; - my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . - $date->{'day2'} . ".html"; + my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); + my $indexFile = $indexDir . "/index-" . $date->{'year2'} . + $date->{'mon2'} . $date->{'day2'} . "-" . + $sd . ".html"; my $today = $days[$date->{'dow'}] . " " . $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; open INDEX, ">$indexFile"; @@ -220,6 +237,7 @@ sub writeTitle ($$) { + Daily Comics for $today @@ -242,6 +260,7 @@ sub directDownload ($$) { 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"; + return system($cmd); }