version 1.26, 2018/04/22 14:03:54
|
version 1.28, 2020/06/10 21:14:31
|
Line 2
|
Line 2
|
|
|
############################################################################### |
############################################################################### |
# $Log$ |
# $Log$ |
|
# Revision 1.28 2020/06/10 21:14:31 nick |
|
# Updated for w3 validation. |
|
# |
|
# Revision 1.27 2019/04/15 12:50:23 nick |
|
# The script was unable to handle html '&' and convert it, so I added that. I probably should see if there's a library or something that handles all those automagically but I just tossed a regex in there for now that does the trick. |
|
# |
# Revision 1.26 2018/04/22 14:03:54 nick |
# Revision 1.26 2018/04/22 14:03:54 nick |
# Changed the default for Sunday comics that was causing issues with some comics. |
# Changed the default for Sunday comics that was causing issues with some comics. |
# |
# |
Line 211 sub writeStatusReportJSON ($$) {
|
Line 217 sub writeStatusReportJSON ($$) {
|
my $shortDate = sprintf("%d%02d%02d", (localtime)[5] + 1900, |
my $shortDate = sprintf("%d%02d%02d", (localtime)[5] + 1900, |
(localtime)[4] + 1, |
(localtime)[4] + 1, |
(localtime)[3]); |
(localtime)[3]); |
my %json = ('date' => $shortDate, 'comics' => []); |
my %json = ('date' => $shortDate, 'comics' => ()); |
my $totalErrors = 0; |
my $totalErrors = 0; |
|
|
foreach my $comic (sort keys %comics) { |
foreach my $comic (sort keys %comics) { |
Line 220 sub writeStatusReportJSON ($$) {
|
Line 226 sub writeStatusReportJSON ($$) {
|
my %error = ('comicName' => "$comics{$comic}{'fullName'}", |
my %error = ('comicName' => "$comics{$comic}{'fullName'}", |
'error' => "$comics{$comic}{'error'}", |
'error' => "$comics{$comic}{'error'}", |
'status' => "Error"); |
'status' => "Error"); |
push $json{'comics'}, \%error; |
push @{$json{'comics'}}, \%error; |
$totalErrors += 1; |
$totalErrors += 1; |
} else { |
} else { |
my %status = ('comicName' => "$comics{$comic}{'fullName'}", |
my %status = ('comicName' => "$comics{$comic}{'fullName'}", |
'error' => 0, |
'error' => 0, |
'status' => "Successfull"); |
'status' => "Successfull"); |
push $json{'comics'}, \%status; |
push @{$json{'comics'}}, \%status; |
} |
} |
} |
} |
$json{'totalErrors'} = $totalErrors; |
$json{'totalErrors'} = $totalErrors; |
Line 244 sub writeComic ($$) {
|
Line 250 sub writeComic ($$) {
|
my $indexFile = $indexDir . "/index-" . $date->{'year2'} . |
my $indexFile = $indexDir . "/index-" . $date->{'year2'} . |
$date->{'mon2'} . $date->{'day2'} . "-" . |
$date->{'mon2'} . $date->{'day2'} . "-" . |
$sd . ".html"; |
$sd . ".html"; |
|
$comics->{$comic}{'fullName'} =~ s/&/&/g; |
my $content = <<EOF; |
my $content = <<EOF; |
|
|
<!-- ********* Begin $comic ($comics->{$comic}{'fullName'}) ******* --> |
<!-- ********* Begin $comic ($comics->{$comic}{'fullName'}) ******* --> |
Line 306 sub writeFooter {
|
Line 313 sub writeFooter {
|
print INDEX <<EOF; |
print INDEX <<EOF; |
</table> |
</table> |
<center> |
<center> |
<font size="2"> |
Generated on: <font size="2" color="green">$sysDate</font><br/> |
Generated on: <font color="green">$sysDate</font><br/> |
Version: <font size="2" color="green">$ver</font><br /> |
Version: <font color="green">$ver</font><br /> |
Config Version: <font size="2" color="green">$comicConfigVer</font><br /> |
Config Version: <font color="green">$comicConfigVer</font><br /> |
CVS: <a href="http://demandred.dyndns.org:3000/cgi-bin/cvsweb/comics/">http://demandred.dyndns.org/cgi-bin/cvsweb/comics/</a> |
CVS: <a href="http://demandred.dyndns.org/cgi-bin/cvsweb/comics/">http://demandred.dyndns.org/cgi-bin/cvsweb/comics/</a> |
<br /> |
<p> |
|
<a href="http://validator.w3.org/check?uri=referer"><img |
<a href="http://validator.w3.org/check?uri=referer"><img |
src="http://www.w3.org/Icons/valid-xhtml10-blue" alt="Valid XHTML 1.0 Transitional" height="31" width="88" border="0" /></a> |
src="http://www.w3.org/Icons/valid-xhtml10-blue" alt="Valid XHTML 1.0 Transitional" height="31" width="88" border="0" /></a> |
</p> |
|
</center> |
</center> |
|
|
</body> |
</body> |
Line 351 sub writeTitle ($$) {
|
Line 356 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"> |
<link href="/daily/comics/comics.css" type="text/css" rel="stylesheet" media="screen" /> |
<link rel="shortcut icon" href="./favicon.ico"> |
<link rel="shortcut icon" href="./favicon.ico" /> |
<title>Daily Comics for $today</title> |
<title>Daily Comics for $today</title> |
</head> |
</head> |
<body bgcolor="#FFFFFF"> |
<body bgcolor="#FFFFFF"> |
<table align="center" cellpadding="5" cellspacing="0"> |
|
<tr><td> |
|
<table cellpadding="0" cellspacing="0" border="0"> |
<table cellpadding="0" cellspacing="0" border="0"> |
<tr><td align="Left"><img src="images/daily_comics_heading01.png"></td></tr> |
<tr><td align="left"><img src="images/daily_comics_heading01.png" alt="Comic Page Heading" /></td></tr> |
<tr><td align="left">$today_long</td></tr> |
<tr><td align="left">$today_long</td></tr> |
<tr><td> </td></tr> |
<tr><td> </td></tr> |
</td</tr> |
|
|
|
EOF |
EOF |
close (INDEX); |
close (INDEX); |
} |
} |
Line 380 sub directDownload ($$) {
|
Line 381 sub directDownload ($$) {
|
my $cDir = $date->{'mon2'} . $date->{'year2'}; |
my $cDir = $date->{'mon2'} . $date->{'year2'}; |
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); |
} |
} |
Line 392 sub indexDownload ($$) {
|
Line 393 sub indexDownload ($$) {
|
my ( @lines, $comicLine, $mainURL ); |
my ( @lines, $comicLine, $mainURL ); |
my $comicIndex = "indexes/index.$comic"; |
my $comicIndex = "indexes/index.$comic"; |
|
|
my $wget_cmd = "wget -q --referer=\"$comics->{$comic}{'url'}\" " . |
my $wget_cmd = "wget -q --referer='$comics->{$comic}{'url'}' " . |
"--user-agent=\"$USER_AGENT\" " . |
"--user-agent=\"$USER_AGENT\" " . |
"$comics->{$comic}{'url'} -O $comicIndex"; |
"$comics->{$comic}{'url'} -O $comicIndex"; |
system($wget_cmd); |
system($wget_cmd); |
Line 403 sub indexDownload ($$) {
|
Line 404 sub indexDownload ($$) {
|
} |
} |
while (<FILEN>) { |
while (<FILEN>) { |
my $line = $_; |
my $line = $_; |
$line =~ s/\R|\ \ +|\t//g if ( $comics->{$comic}{'remove_newliens'} ); |
$line =~ s/\R|\ \ +|\t//g if ( $comics->{$comic}{'remove_newlines'} ); |
push @lines, $line; |
push @lines, $line; |
} |
} |
close (FILEN); |
close (FILEN); |
|
|
|
|
unlink ("$comicIndex"); |
unlink ("$comicIndex"); |
|
|
$mainURL = $comics->{$comic}{'url'}; |
$mainURL = $comics->{$comic}{'url'}; |
Line 418 sub indexDownload ($$) {
|
Line 420 sub indexDownload ($$) {
|
## |
## |
## Find the comic strip URL based on the specified regex in the search |
## Find the comic strip URL based on the specified regex in the search |
## |
## |
|
|
foreach my $line (@lines) { |
foreach my $line (@lines) { |
if ( $line =~ m/$comics->{$comic}{'search'}/i ) { |
if ( $line =~ m/$comics->{$comic}{'search'}/i ) { |
$comicLine = $1; chomp $comicLine; |
$comicLine = $1; chomp $comicLine; |
Line 433 sub indexDownload ($$) {
|
Line 436 sub indexDownload ($$) {
|
if ( $comicLine ) { |
if ( $comicLine ) { |
if ( $comicLine =~ m/(gif|jpg|png)/i ) { $comics->{$comic}{'ext'} = $1; } |
if ( $comicLine =~ m/(gif|jpg|png)/i ) { $comics->{$comic}{'ext'} = $1; } |
my $comicURL = ( $comicLine =~ m/http/ ) ? $comicLine : $mainURL . $comicLine; |
my $comicURL = ( $comicLine =~ m/http/ ) ? $comicLine : $mainURL . $comicLine; |
my $cmd = "wget --user-agent=\"$USER_AGENT\" --referer=\"" . $comics->{$comic}{'url'} . "\" -q $comicURL -O images/$cDir/$comic-$cDate.$comics->{$comic}{'ext'}"; |
# Strip & |
|
$comicURL =~ s/\&\;/&/g; |
|
my $cmd = "wget --user-agent=\"$USER_AGENT\" --referer='" . $comics->{$comic}{'url'} . "' -q '$comicURL' -O images/$cDir/$comic-$cDate.$comics->{$comic}{'ext'}"; |
system( $cmd ); |
system( $cmd ); |
return 0; |
return 0; |
} |
} |