--- comics/fetch.pl.new 2011/09/23 01:36:54 1.4 +++ comics/fetch.pl.new 2013/02/27 14:56:26 1.11 @@ -3,19 +3,24 @@ use strict; use File::Path; use Data::Dumper; +use Pod::Usage; +use Getopt::Long; ## ## Some default values ## -my $ver = q/$Id: fetch.pl.new,v 1.4 2011/09/23 01:36:54 nick Exp $/; +my $ver = q/$Id: fetch.pl.new,v 1.11 2013/02/27 14:56:26 nick Exp $/; my $comicFile = "comics.conf"; my %comics = &readComicConfig ( $comicFile ); +my %opts = &fetchOptions( ); +my $days_ago = $opts{'days'} || 0; my %dates = &fetchDates(); my $baseDir = $comics{'configs'}{'base_directory'} || "."; my $imageDir = $baseDir . "/" . ( $comics{'configs'}{'image_directory'} || "images" ) . "/$dates{'mon2'}$dates{'year2'}"; my $indexDir = $baseDir . "/" . ( $comics{'configs'}{'index_directory'} || "indexes" ); 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 $DATE=`date`; chomp $DATE; @@ -26,7 +31,7 @@ print STDOUT "Starting comic fetch at $D ## &checkDir ( [ $imageDir, $indexDir ] ); -#&writeTitle ( \%dates ); +&writeTitle ( \%dates ); foreach my $comic ( sort keys %comics ) { next if ( $comic =~ m/config/ ); @@ -34,9 +39,8 @@ foreach my $comic ( sort keys %comics ) &writeComic ( \%comics, $comic, \%dates ); } -my $D = `date +%d`; chomp $D; -print "Finding in $imageDir/*-$D.jpg\n"; -foreach my $file ( glob( "$imageDir/*-$D.jpg" ) ) +print "Finding in $imageDir/*-$dates{'day2'}.jpg\n"; +foreach my $file ( glob( "$imageDir/*-$dates{'day2'}.jpg" ) ) { my $size = `/usr/bin/identify $file`; $size =~ s/.*\s(\d+)x\d+.*/$1/; @@ -112,7 +116,9 @@ sub readComicConfig ($$) { ####################################################################### sub writeComic ($$) { my ( $comics, $comic, $date ) = @_; - my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . + my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); + my $indexFile = $indexDir . "/index-" . $sd . + "-" . $date->{'year2'} . $date->{'mon2'} . $date->{'day2'} . ".html"; my $content = <{'year2'} . $date->{'mon2'} . + my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); + my $indexFile = $indexDir . "/index-" . $sd . + "-" . $date->{'year2'} . $date->{'mon2'} . $date->{'day2'} . ".html"; my $sysDate = `date`; @@ -176,7 +184,8 @@ sub writeFooter {
Generated on: $sysDate
-Version: $ver
+Version: $ver
+CVS: http://demandred.dyndns.org/cgi-bin/cvsweb/comics/

Valid XHTML 1.0 Transitional @@ -203,9 +212,11 @@ sub checkDir ($$) { ####################################################################### sub writeTitle ($$) { my ( $date ) = @_; - my $indexFile = $indexDir . "/index-" . $date->{'year2'} . $date->{'mon2'} . + my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 ); + my $indexFile = $indexDir . "/index-" . $sd . + "-" . $date->{'year2'} . $date->{'mon2'} . $date->{'day2'} . ".html"; - my $today = $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; + my $today = $days[$date->{'dow'}] . " " . $date->{'mon'} . "/" . $date->{'day'} . "/" . $date->{'year'}; open INDEX, ">$indexFile"; print INDEX < \$opts{'days'}, + "help|?" => \$opts{'help'}, + "man" => \$opts{'man'}, + ) || &pod2usage( ); + &pod2usage( ) if defined $opts{'help'}; + &pod2usage( { -verbose => 2, -input => \*DATA } ) if defined $opts{'man'}; + + return %opts; +} + +__END__ + +=head1 NAME + +fetch.pl - Fetches comics and places them all locally in a single html file. + +=head1 SYNOPSIS + +fetch.pl [options] + +Options: + --days,d Fetch comics from X days ago + --help,? Display the basic help menu + --man,m Display the detailed man page + +=head1 DESCRIPTION + +=head1 HISTORY + +=head1 AUTHOR + +Nicholas DeClario + +=head1 BUGS + +This is a work in progress. Please report all bugs to the author. + +=head1 SEE ALSO + +=head1 COPYRIGHT + +=cut + +