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

version 1.16, 2015/02/05 18:05:58 version 1.17, 2015/02/19 14:56:10
Line 2 Line 2
   
 ###############################################################################  ###############################################################################
 # $Log$  # $Log$
   # Revision 1.17  2015/02/19 14:56:10  nick
   # Fixed a problem that forced everything to JPG.  This would kill GIF animations, but would not display the gifs either because 'convert' appends an index number to the end of the file name for each from of the GIF animation.  I fixed this to maintain GIF compatibilty as well as rewritting how the script fetches the size of the file.  Additionally, I updated the configuration for Questionable Content to search for GIF or JPG, which is what triggered this entire update.
   #
 # Revision 1.16  2015/02/05 18:05:58  nick  # Revision 1.16  2015/02/05 18:05:58  nick
 # Changed the background and added a fancy title.  # Changed the background and added a fancy title.
 #  #
Line 50  foreach my $comic ( sort keys %comics ) Line 53  foreach my $comic ( sort keys %comics )
        ( $comics{$comic}{'sunday'} == 0 ) ) { print "Skipping.\n"; next; }         ( $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 );
 }  
   
 print "Finding in $imageDir/*-$dates{'day2'}.jpg\n";      my $file = "$imageDir/$comic-$dates{'day2'}.$comics{$comic}{'ext'}";
 foreach my $file ( glob( "$imageDir/*-$dates{'day2'}.jpg" ) )       my $size = 0;    
 {  
         my $size = `/usr/bin/identify $file`;      my $cmd = "/usr/bin/identify -verbose $file|";
         $size =~ s/.*\s(\d+)x\d+.*/$1/;      open(IMG, $cmd) || die ("Can't open: $!\n");
       while(<IMG>) {
           if ($_ =~ m/^\s+geometry:\s+(\d+)x\d+.*/i) {
               $size = $1 if ( $size == 0);
           }
       }
       close(IMG);
   
         system( "/usr/bin/convert -resize 640 $file $file" )          system( "/usr/bin/convert -resize 640 $file $file" )
                 if ( $size > 640 )                   if ( $size > 640 ) 
Line 154  sub writeComic ($$) { Line 162  sub writeComic ($$) {
                 $comics->{$comic}{'url'}                  $comics->{$comic}{'url'}
         </a>          </a>
 </font><br/>  </font><br/>
 <img src="../images/$date->{'mon2'}$date->{'year2'}/$comic-$date->{'day2'}.jpg" alt="$comic-$date->{'day2'}" />  <img src="../images/$date->{'mon2'}$date->{'year2'}/$comic-$date->{'day2'}.$comics->{$comic}{'ext'}" alt="$comic-$date->{'day2'}" />
 <br/><br/>  <br/><br/>
 </td></tr>  </td></tr>
 <!-- ********* Finish $comic ($comics->{$comic}{'fullName'}) ******* -->  <!-- ********* Finish $comic ($comics->{$comic}{'fullName'}) ******* -->
Line 309  sub indexDownload ($$) { Line 317  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'}/ ) {                  if ( $line =~ m/$comics->{$comic}{'search'}/i ) {
                         $comicLine = $1; chomp $comicLine;                          $comicLine = $1; chomp $comicLine;
                 }                  }
         }      }
   
         ##          ##
         ## Save the file to the appropriate directory          ## Save the file to the appropriate directory
Line 323  sub indexDownload ($$) { Line 331  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 - | /usr/bin/convert - jpeg:images/$cDir/$comic-$cDate.jpg";                  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;
         }          }

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


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