version 1.20, 2015/10/22 12:58:44
|
version 1.23, 2018/01/26 13:05:27
|
Line 2
|
Line 2
|
|
|
############################################################################### |
############################################################################### |
# $Log$ |
# $Log$ |
|
# Revision 1.23 2018/01/26 13:05:27 nick |
|
# Added a new config option to remove all newline from the resulting index.html |
|
# file. This allows for easier parsing for certain comics. I then updated |
|
# the URLs to search for and enabled the newline removal for a handful |
|
# of uComics. |
|
# |
|
# I believe I've also properly fixed the Comic Config version displayed on |
|
# the webpage itself. |
|
# |
|
# Revision 1.22 2017/12/05 13:37:40 nick |
|
# Added the CVS config version to the outpuit. |
|
# |
|
# Revision 1.21 2015/10/26 14:25:40 nick |
|
# Fixed a bug that was improperly including the day of week string preventing the weekend comics from fetching proproperly. |
|
# |
# Revision 1.20 2015/10/22 12:58:44 nick |
# Revision 1.20 2015/10/22 12:58:44 nick |
# Added the ability for Sunday only comics. Stonesoup is no longer weekdays, this has been added to Sunday only. I also added Foxtrot Classics for weekdays and Foxtrot for Sundays. |
# Added the ability for Sunday only comics. Stonesoup is no longer weekdays, this has been added to Sunday only. I also added Foxtrot Classics for weekdays and Foxtrot for Sundays. |
# |
# |
Line 28 use Data::Dumper;
|
Line 43 use Data::Dumper;
|
use Pod::Usage; |
use Pod::Usage; |
use Getopt::Long; |
use Getopt::Long; |
|
|
use Date::Calc qw/Date_to_Text_Long Today/; |
use Date::Calc qw/Date_to_Text_Long Today Day_of_Week Day_of_Week_to_Text/; |
|
|
## |
## |
## Some default values |
## Some default values |
## |
## |
my $ver = '$Id$'; |
my $ver = '$Id$'; |
my $comicFile = "comics.conf"; |
my $comicFile = "comics.conf"; |
|
my $comicConfigVer = "Unknown"; |
my %comics = &readComicConfig ( $comicFile ); |
my %comics = &readComicConfig ( $comicFile ); |
my %opts = &fetchOptions( ); |
my %opts = &fetchOptions( ); |
my $days_ago = $opts{'days'} || 0; |
my $days_ago = $opts{'days'} || 0; |
Line 60 foreach my $comic ( sort keys %comics )
|
Line 76 foreach my $comic ( sort keys %comics )
|
|
|
## Skip if this is Sunday and the comic is weekdays only |
## Skip if this is Sunday and the comic is weekdays only |
next if ( $comic =~ m/config/ ); |
next if ( $comic =~ m/config/ ); |
if (($dates{'day2'} eq "Sunday") && |
if (($dates{'wday'} eq "Sunday") && |
($comics{$comic}{'sunday'} == 0)) { |
($comics{$comic}{'sunday'} == 0)) { |
print "Skipping '$comic'; Weekdays only.\n"; |
print "Skipping '$comic'; Weekdays only.\n"; |
next; |
next; |
} |
} |
|
|
## Skip if Sunday only comic and it's not Sunday. |
## Skip if Sunday only comic and it's not Sunday. |
if (($dates{'day2'} ne "Sunday") && |
if (($dates{'wday'} ne "Sunday") && |
($comics{$comic}{'sunday_only'} == 1)) { |
($comics{$comic}{'sunday_only'} == 1)) { |
print "Skipping '$comic'; Sunday only.\n"; |
print "Skipping '$comic' ($comics{$comic}{'sunday_only'}); Sunday only.\n"; |
next |
next |
} |
} |
|
|
Line 143 sub readComicConfig ($$) {
|
Line 159 sub readComicConfig ($$) {
|
|
|
open FILEN, "<$comicFile"; |
open FILEN, "<$comicFile"; |
while (<FILEN>) { |
while (<FILEN>) { |
|
#if ($_ =~ m/^#.* \$Id$/) { |
|
if ($_ =~ m/^#.* \$Id$$/) { |
|
$comicConfigVer = $1; |
|
} |
if ( ( $_ !~ m/^#/ ) && ( $_ =~ m/,.*,/) ){ |
if ( ( $_ !~ m/^#/ ) && ( $_ =~ m/,.*,/) ){ |
$_ =~ s/__YEAR__/$year/g; |
$_ =~ s/__YEAR__/$year/g; |
$_ =~ s/__MON__/$mon/g; |
$_ =~ s/__MON__/$mon/g; |
Line 154 sub readComicConfig ($$) {
|
Line 174 sub readComicConfig ($$) {
|
$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]}{'sunday'} = sprintf("%d", $res[6] || 1); |
$comicConfig{$res[0]}{'sunday_only'} = $res[7] || 0; |
$comicConfig{$res[0]}{'sunday_only'} = sprintf("%d", $res[7] || 0); |
|
$comicConfig{$res[0]}{'remove_newlines'} = sprintf("%d", $res[8] || 0); |
$comicConfig{$res[0]}{'error'} = 0; |
$comicConfig{$res[0]}{'error'} = 0; |
} |
} |
elsif ( $_ =~ m/(.*)\s+=\s+(.*)/ ) { |
elsif ( $_ =~ m/(.*)\s+=\s+(.*)/ ) { |
Line 240 sub writeFooter {
|
Line 261 sub writeFooter {
|
<font size="2"> |
<font size="2"> |
Generated on: <font color="green">$sysDate</font><br/> |
Generated on: <font color="green">$sysDate</font><br/> |
Version: <font color="green">$ver</font><br /> |
Version: <font color="green">$ver</font><br /> |
|
Config Version: <font color="green">$comicConfigVer</font><br /> |
CVS: <a href="http://demandred.dyndns.org/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> |
<p> |
<p> |
<a href="http://validator.w3.org/check?uri=referer"><img |
<a href="http://validator.w3.org/check?uri=referer"><img |
Line 331 sub indexDownload ($$) {
|
Line 353 sub indexDownload ($$) {
|
return "ERROR: Can't open index file for " . $comics->{$comic}{'fullName'} . |
return "ERROR: Can't open index file for " . $comics->{$comic}{'fullName'} . |
" (" . $comics->{$comic}{'url'} . ")"; |
" (" . $comics->{$comic}{'url'} . ")"; |
} |
} |
@lines = <FILEN>; |
while (<FILEN>) { |
|
my $line = $_; |
|
$line =~ s/\R|\ \ +|\t//g if ( $comics->{$comic}{'remove_newliens'} ); |
|
push @lines, $line; |
|
} |
close (FILEN); |
close (FILEN); |
|
|
unlink ("$comicIndex"); |
unlink ("$comicIndex"); |
Line 399 sub fetchDates () {
|
Line 425 sub fetchDates () {
|
$dates{'day2'} = ( $dates{'day'} < 10 ) ? "0" . $dates{'day'} : $dates{'day'}; |
$dates{'day2'} = ( $dates{'day'} < 10 ) ? "0" . $dates{'day'} : $dates{'day'}; |
$dates{'mon'}++; |
$dates{'mon'}++; |
$dates{'mon2'} = ( $dates{'mon'} < 10 ) ? "0".$dates{'mon'} : $dates{'mon'}; |
$dates{'mon2'} = ( $dates{'mon'} < 10 ) ? "0".$dates{'mon'} : $dates{'mon'}; |
|
my @days = qw/ Sunday Monday Tuesday Wednesday Thursday Friday Saturday /; |
|
$dates{'wday'} = $days[$dates{'dow'}]; |
|
|
return %dates; |
return %dates; |
} |
} |