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); |
} |
} |
|
|