#!/usr/bin/env perl # $Id: convert.pl,v 1.20 2004/05/17 18:24:14 bernisys Exp $ # include PERL libraries use strict; use warnings; use diagnostics; use File::Find; # include HotSaNIC libraries use lib "./lib"; use HotSaNICparser; (my $VERSION = '$Revision: 1.20 $') =~ s/.*(\d+\.\d+).*/$1/; (my $IDENTIFIER = '$Id: convert.pl,v 1.20 2004/05/17 18:24:14 bernisys Exp $') =~ s/.*,v (.*) \$/$1/; my $module=$ARGV[0] || ""; $module=~ s/modules\///; $module="/".$module; if ($module eq "/") {$module="";} my %CONFIG = HotSaNICparser::get_config("."); my $thumbsize = $CONFIG{THUMBSIZE} || "20%"; my $method = lc $CONFIG{CONVERTMETHOD} || "html"; my $binpath= $CONFIG{CONVERTPATH} || ""; if (-f $binpath) { $binpath =~ s/\/\w*$//g; } my %METHODS=("imgmgck"=>"ImgMgck","imagemagick"=>"ImgMgck","i::m"=>"I::M","netpbm"=>"netpbm"); # exit if method is HTML or unknown if (! defined $METHODS{$method}) { exit 0; } else { $method=$METHODS{$method}; } if ($module ne "") {print "converting ",$CONFIG{WEBDIR},$module,"\n";} # check if the ImageMagick perl-module is installed if ($method eq 'I::M') { eval { require Image::Magick; }; if ($@) { print "$0: Perlmodule Image::Magick not installed\n"; $method = "ImgMgck"; } else { require Image::Magick; print "Using Image::Magick perl-module\n"; } } # build array with all weekly diagram files in the web-dir # require File::Find; my @files; $File::Find::name=""; # suppress stupid warning... File::Find::find( \&wanted_files , $CONFIG{WEBDIR}.$module); sub wanted_files { /^.*-week\..*\z/s && push @files, $File::Find::name; } my $cmd; foreach my $file ( @files ) { my $thumb=$file; $thumb=~ s/^(.+)\/(.+)-week\.(.+)$/$1\/thumb-$2\.$3/; print "resizing $file\n"; if ($method eq "I::M") { my $image = new Image::Magick; $image->Read($file); $image->Scale(geometry => "$thumbsize"); $image->Write($thumb); } elsif ($method eq "ImgMgck") { $thumbsize=~ s/\./,/g; $cmd = "$binpath/convert -geometry $thumbsize $file $thumb"; system($cmd) == 0 or warn "$0: could not convert $file to $thumb: $!"; } elsif ($method eq "netpbm") { if ($thumbsize =~ /%/) { $thumbsize=~ s/%//g; $thumbsize=~ s/,/./g; $thumbsize/=100; } if ($file =~ /\.gif$/) { $cmd="$binpath/giftopnm $file | $binpath/pnmscale $thumbsize | $binpath/pnmtopng > $thumb"; } elsif ($file =~ /\.png/) { $cmd="$binpath/pngtopnm $file | $binpath/pnmscale $thumbsize | $binpath/pnmtopng > $thumb"; } system($cmd) == 0 or warn "$0: could not convert $file to $thumb: $!"; } } exit; WebSVN - hotsanic - Blame - Rev 29 - /branches/HotSaNIC-0.5.0-pre6/convert.pl
  jablonka.czprosek.czf

hotsanic

Subversion Repositories:
[/] [branches/] [HotSaNIC-0.5.0-pre6/] [convert.pl] - Blame information for rev 29

 

Line No. Rev Author Line

Powered by WebSVN 2.2.1