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

sakharuk lon-capa-cvs@mail.lon-capa.org
Wed, 23 Jul 2003 18:58:59 -0000


sakharuk		Wed Jul 23 14:58:59 2003 EDT

  Modified files:              
    /loncom/interface	printout.pl 
  Log:
  Added possibility to see the content of log file if there were corrections done by LaTeX.
  
  
Index: loncom/interface/printout.pl
diff -u loncom/interface/printout.pl:1.29 loncom/interface/printout.pl:1.30
--- loncom/interface/printout.pl:1.29	Tue Jul 22 10:46:44 2003
+++ loncom/interface/printout.pl	Wed Jul 23 14:58:59 2003
@@ -55,7 +55,10 @@
       my $temporary_file=IO::File->new($logfilename) || die "Couldn't open file for reading: $!\n";
       my @content_of_file = <$temporary_file>;
       close $temporary_file; 
-      my $body_log_file = join(' ',@content_of_file); 
+      my $body_log_file = join(' ',@content_of_file);
+      $logfilename =~ s/\.log$/\.html/;
+      $temporary_file = IO::File->new('>'.$logfilename); 
+      print $temporary_file '<html><head><title>LOGFILE</title></head><body><pre>'.$body_log_file.'</pre></body></html>'."\n";
       if ($body_log_file=~m/!\s+Emergency stop/) {
 	  #LaTeX failed to parse tex file 
 	  print "<h2>LaTeX could not successfully parse your tex file.</h2>";
@@ -80,11 +83,15 @@
 	  } 
       } elsif ($body_log_file=~m/<inserted text>/) {
 	  my $whereitbegins = index $body_log_file,'<inserted text>';
-	  $whereitbegins = rindex $body_log_file,'STAMPOFPASSEDRESOURCESTART',$whereitbegins;
-	  my $whereitends = index $body_log_file,'STAMPOFPASSEDRESOURCEEND',$whereitbegins;
 	  print "You are running LaTeX in the <b>batch mode</b>. \n";
-	  print "It has found an error in".substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26)." and corrected it.\n";
-	  print "Usually this correction is valid but you probably need to check the indicated resource one more time and implement neccessary corrections by yourself.\n";
+	  while ($whereitbegins != -1) {
+	      my $tempobegin=$whereitbegins;
+	      $whereitbegins = rindex $body_log_file,'STAMPOFPASSEDRESOURCESTART',$whereitbegins;
+	      my $whereitends = index $body_log_file,'STAMPOFPASSEDRESOURCEEND',$whereitbegins;
+	      print "It has found an error in".substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26)." and corrected it.\n";
+	      print "Usually this correction is valid but you probably need to check the indicated resource one more time and implement neccessary corrections by yourself.\n";
+	      $whereitbegins = index $body_log_file,'<inserted text>',$tempobegin+10;
+	  }
 	  $name_file =~ s/\.tex/\.dvi/;
 	  my $new_name_file = $name_file;
 	  $new_name_file =~ s/\.dvi/\.ps/;
@@ -114,10 +121,14 @@
 	      $texaux =~ s/\.tex/\.aux/;
 	      $texdvi =~ s/\.tex/\.dvi/;
 	      $texps =~ s/\.tex/\.ps/;
-	      my @garb = ($texlog,$texaux,$texdvi,$texps);
+	      my @garb = ($texaux,$texdvi,$texps);
 #	  unlink @garb;
 	      unlink $duefile;
 	      print "<a href=\"/prtspool/$name_file\">Your PDF document</a>";
+	      print "<br /><br />";
+              print "<b><big>The link to ";
+              $logfilename=~s/\/home\/httpd//;
+	      print "<a href=\"$logfilename\">Your log file </a></big></b>";
 	      print "\n";
 	  }
       } else {