Diff for /comics/fetch.pl.new between versions 1.10 and 1.16

version 1.10, 2013/02/26 14:24:14 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 116  sub readComicConfig ($$) { Line 139  sub readComicConfig ($$) {
 #######################################################################  #######################################################################
 sub writeComic ($$) {  sub writeComic ($$) {
         my ( $comics, $comic, $date ) = @_;          my ( $comics, $comic, $date ) = @_;
         my $indexFile = $indexDir . "/index-" . $days[$date->{'dow'}] .          my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 );
                         "-" . $date->{'year2'} . $date->{'mon2'} .          my $indexFile = $indexDir . "/index-" . $date->{'year2'} . 
                         $date->{'day2'} . ".html";                          $date->{'mon2'} . $date->{'day2'} . "-" . 
                           $sd . ".html";
         my $content = <<EOF;          my $content = <<EOF;
   
 <!-- ********* Begin $comic ($comics->{$comic}{'fullName'}) ******* -->  <!-- ********* Begin $comic ($comics->{$comic}{'fullName'}) ******* -->
Line 171  sub writeMainIndex ($$) { Line 195  sub writeMainIndex ($$) {
 #######################################################################  #######################################################################
 sub writeFooter {  sub writeFooter {
         my ( $date ) = @_;          my ( $date ) = @_;
         my $indexFile = $indexDir . "/index-" . $days[$date->{'dow'}] .           my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 );
                         "-" . $date->{'year2'} . $date->{'mon2'} .          my $indexFile = $indexDir . "/index-" . $date->{'year2'} . 
                         $date->{'day2'} . ".html";                          $date->{'mon2'} . $date->{'day2'} . "-" . 
                           $sd . ".html";
         my $sysDate = `date`;          my $sysDate = `date`;
   
         open INDEX, ">>$indexFile";          open INDEX, ">>$indexFile";
Line 210  sub checkDir ($$) { Line 235  sub checkDir ($$) {
 #######################################################################  #######################################################################
 sub writeTitle ($$) {  sub writeTitle ($$) {
         my ( $date ) = @_;          my ( $date ) = @_;
         my $indexFile = $indexDir . "/index-" . $days[$date->{'dow'}] .           my $sd = substr( join( '', $days[$date->{'dow'}] ), 0, 3 );
                         "-" . $date->{'year2'} . $date->{'mon2'} .          my $indexFile = $indexDir . "/index-" . $date->{'year2'} . 
                          $date->{'day2'} . ".html";                          $date->{'mon2'} . $date->{'day2'} . "-" . 
                           $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 222  sub writeTitle ($$) { Line 249  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">
     <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>&nbsp;</td></tr>
   </td</tr>
   
 EOF  EOF
         close (INDEX);          close (INDEX);
 }  }
Line 244  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);
 }  }
   

Removed from v.1.10  
changed lines
  Added in v.1.16


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>