Author: sparky
Date: Fri Jan 19 21:25:01 2007
New Revision: 8177

Modified:
   vfmg/trunk/VFMG/Icons.pm
Log:
- move repeated code to check_exec()


Modified: vfmg/trunk/VFMG/Icons.pm
==============================================================================
--- vfmg/trunk/VFMG/Icons.pm    (original)
+++ vfmg/trunk/VFMG/Icons.pm    Fri Jan 19 21:25:01 2007
@@ -39,7 +39,33 @@
        return $file;
 }
 
+sub check_exec($) {
+       my $opt = shift;
+       if ( $main::opt{$opt} =~ s/^\s*\$(\S+)// ) {
+               my $sect = $1;
+               my $exec = prepare_exec($sect);
+               if ( defined $exec and length $exec ) {
+                       $main::opt{$opt} =~ s/^/$exec/;
+                       return 1;
+               } else {
+                       warn "Some error ocurred wile preparing '\$$sect' 
script\n";
+                       delete $main::opt{$opt};
+                       return 0;
+               }
+       } else {
+               my $exec = (split /\s/, $main::opt{$opt})[0];
+               if ( length `which $exec` ) {
+                       return 1;
+               } else {
+                       delete $main::opt{$opt};
+                       warn "$opt: `$main::opt{$opt}' is not executable.\n";
+                       return 0;
+               }
+       }
+}
+
 sub preconf() {
+       return unless $main::opt{icons};
        eval { $main::opt{icons_dir} = VFMG::Output::icons_dir() }
                unless length $main::opt{icons_dir};
 
@@ -51,64 +77,14 @@
                warn "Icons destination directory is not specified, not 
scaling.\n";
                return;
        }
-       if ( $main::opt{convert} =~ s/^\s*\$(\S+)// ) {
-               my $sect = $1;
-               my $conv = prepare_exec($sect);
-               if ( defined $conv and length $conv ) {
-                       $main::opt{convert} =~ s/^/$conv/;
-                       $main::opt{icons} = 1;
-               } else {
-                       warn "Some error ocurred wile preparing '\$$sect' 
script\n";
-                       $main::opt{icons_scale} = 0;
-               }
-       } else {
-               my $conv = (split /\s/, $main::opt{convert})[0];
-               if ( length `which $conv` ) {
-                       $main::opt{icons} = 1;
-               } else {
-                       $main::opt{icons_scale} = 0;
-                       warn "$conv is not executable, not scaling icons.\n";
-               }
-       }
+       $main::opt{icons_scale} = 0 unless check_exec("convert");
        return unless $main::opt{icons_scale};
 
        if ( defined $main::opt{text_icon} ) {
-               if ( $main::opt{text_icon} =~ s/^\s*\$(\S+)// ) {
-                       my $sect = $1;
-                       my $post = prepare_exec($sect);
-                       if ( defined $post and length $post ) {
-                               $main::opt{text_icon} =~ s/^/$post/;
-                       } else {
-                               warn "Some error ocurred wile preparing post 
'\$$sect' script\n";
-                               delete $main::opt{text_icon};
-                       }
-               } else {
-                       my $exec = (split /\s/, $main::opt{text_icon})[0];
-                       unless ( length `which $exec` ) {
-                               delete $main::opt{text_icon};
-                               warn "post: $main::opt{text_icon} is not 
executable.\n";
-                       }
-               }
-               push @del_files, "$tmp/icon.png";
+               push @del_files, "$tmp/icon.png" if check_exec("text_icon");
        }
 
-       return unless defined $main::opt{convert_post};
-       if ( $main::opt{convert_post} =~ s/^\s*\$(\S+)// ) {
-               my $sect = $1;
-               my $post = prepare_exec($sect);
-               if ( defined $post and length $post ) {
-                       $main::opt{convert_post} =~ s/^/$post/;
-               } else {
-                       warn "Some error ocurred wile preparing post '\$$sect' 
script\n";
-                       delete $main::opt{convert_post};
-               }
-       } else {
-               unless ( length `which $main::opt{convert_post}` ) {
-                       delete $main::opt{convert_post};
-                       warn "post: $main::opt{convert_post} is not 
executable.\n";
-               }
-       }
-       return;
+       check_exec("convert_post") if defined $main::opt{convert_post};
 }
 
 our $scale_icon;
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to