[LON-CAPA-cvs] cvs: loncom /interface printout.pl

albertel lon-capa-cvs@mail.lon-capa.org
Tue, 03 Feb 2004 00:02:16 -0000


albertel		Mon Feb  2 19:02:16 2004 EDT

  Modified files:              
    /loncom/interface	printout.pl 
  Log:
  - when priting multiple students the same image file might be listed many times
    lets just do the conversion once
  
  
Index: loncom/interface/printout.pl
diff -u loncom/interface/printout.pl:1.41 loncom/interface/printout.pl:1.42
--- loncom/interface/printout.pl:1.41	Thu Jan  8 14:50:47 2004
+++ loncom/interface/printout.pl	Mon Feb  2 19:02:15 2004
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc.
 #
-# $Id: printout.pl,v 1.41 2004/01/08 19:50:47 sakharuk Exp $
+# $Id: printout.pl,v 1.42 2004/02/03 00:02:15 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -64,6 +64,7 @@
   $duefile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.due/;
   #do we have figures?
   if (-e $figfile) {
+      my %done_conversion;
       my $temporary_file=IO::File->new($figfile) || die "Couldn't open file for reading: $!\n";
       my @content_of_file = <$temporary_file>;
       close $temporary_file;  
@@ -86,6 +87,10 @@
 	      my $image = Image::Magick->new;
 	      $not_eps =~ s/^\s+//;
 	      $not_eps =~ s/\s+$//;
+	      if ( exists($done_conversion{$not_eps})) {
+		  next;
+	      }
+	      $done_conversion{$not_eps}=1;
 	      $status = $image->Read($not_eps);
 	      if ($status) {print "  $status  ";}
 	      $image->Set(page => '+100+200');