Diff for /loncom/interface/printout.pl between versions 1.69 and 1.73

version 1.69, 2004/09/09 15:30:49 version 1.73, 2005/03/14 23:51:20
Line 32  use File::Path; Line 32  use File::Path;
 use IO::File;  use IO::File;
 use Image::Magick;  use Image::Magick;
 use Apache::lonhtmlcommon;  use Apache::lonhtmlcommon;
   use Apache::lonnet();
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
   
Line 67  END Line 68  END
   my $advans_role = $ENV{'cgi.'.$identifier.'role'};    my $advans_role = $ENV{'cgi.'.$identifier.'role'};
   my $number_of_files = $ENV{'cgi.'.$identifier.'numberoffiles'}+1;    my $number_of_files = $ENV{'cgi.'.$identifier.'numberoffiles'}+1;
   my $student_names = $ENV{'cgi.'.$identifier.'studentnames'};    my $student_names = $ENV{'cgi.'.$identifier.'studentnames'};
   my $backref = $ENV{'cgi.'.$identifier.'backref'};    my $backref = &Apache::lonnet::unescape($ENV{'cgi.'.$identifier.'backref'});
   
   
   my $adv = $ENV{'request.role.adv'};    my $adv = $ENV{'request.role.adv'};
Line 84  END Line 85  END
   my $duefile = $texfile;    my $duefile = $texfile;
   $duefile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.due/;    $duefile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.due/;
   #do we have figures?    #do we have figures?
     # print "Figure file: $figfile\n";
   if (-e $figfile) {    if (-e $figfile) {
         # print "$figfile exists\n";
       my %done_conversion;        my %done_conversion;
       my $temporary_file=IO::File->new($figfile) || die "Couldn't open fig file $figfile for reading: $!\n";        my $temporary_file=IO::File->new($figfile) || die "Couldn't open fig file $figfile for reading: $!\n";
       my @content_of_file = <$temporary_file>;        my @content_of_file = <$temporary_file>;
Line 95  END Line 98  END
       foreach my $not_eps (@content_of_file) {        foreach my $not_eps (@content_of_file) {
   chomp($not_eps);    chomp($not_eps);
   if ($not_eps ne '') {    if ($not_eps ne '') {
         # print "Converting $not_eps"; # Debugging.
               my $status_statement='EPS picture for '.$not_eps;                my $status_statement='EPS picture for '.$not_eps;
         # print "$status_statement\n";
       $not_eps=~s|\/\.\/|\/|g;        $not_eps=~s|\/\.\/|\/|g;
       my $eps_f = $not_eps;        my $eps_f = $not_eps;
       $eps_f =~ s/\.[^.]*$/\.eps/i;        $eps_f =~ s/\.[^.]*$/\.eps/i;
Line 111  END Line 116  END
       }        }
       my $path=$eps_f;        my $path=$eps_f;
       $path=~s/\/([^\/]+)\.eps$//;        $path=~s/\/([^\/]+)\.eps$//;
         # print "Final file path: $path "; # Debugging
       File::Path::mkpath($path,0,0777);        File::Path::mkpath($path,0,0777);
       my $image = Image::Magick->new;  
       $not_eps =~ s/^\s+//;        $not_eps =~ s/^\s+//;
       $not_eps =~ s/\s+$//;        $not_eps =~ s/\s+$//;
       if ( exists($done_conversion{$not_eps})) {        if ( exists($done_conversion{$not_eps})) { next; }
   next;  
       }  
       if ($adv) {        if ($adv) {
   my $prettyname=$not_eps;    my $prettyname=$not_eps;
   $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|;    $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|;
   $prettyname=~s|$Apache::lonnet::perlvar{'lonDocRoot'}/|/|;    $prettyname=~s|$Apache::lonnet::perlvar{'lonDocRoot'}/|/|;
   &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'Converting to EPS '.$prettyname); }    &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'Converting to EPS '.$prettyname);
         }
       $done_conversion{$not_eps}=1;        $done_conversion{$not_eps}=1;
       my $status = $image->Read($not_eps);        # print "Converting $not_eps -> $eps_f"; # Debugging
       if ($status) {print "  $status  ";}        system("convert $not_eps $eps_f");
       $image->Set(page => '+100+200');   
       $status = $image->Write($eps_f);      
       if ($status) {print "  $status  ";}  
               #check is eps exist in prtspool                #check is eps exist in prtspool
               if(not -e $eps_f) {                if(not -e $eps_f) {
   for (my $i=0;$i<10000;$i++) {    for (my $i=0;$i<10000;$i++) {
Line 226  foreach $texfile (@texfile) { Line 227  foreach $texfile (@texfile) {
   if ($whereitbegins!=-1 and $whereitends!=-1) {    if ($whereitbegins!=-1 and $whereitends!=-1) {
        print "With very high probability this error occured in ".substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26)."<br /><br />";         print "With very high probability this error occured in ".substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26)."<br /><br />";
   }    }
   print "Here are the error messages in the LaTeX log file</br><br />";    print "Here are the error messages in the LaTeX log file</br><br /><pre>";
   my $sygnal = 0;    my $sygnal = 0;
   for (my $i=0;$i<=$#content_of_file;$i++) {    for (my $i=0;$i<=$#content_of_file;$i++) {
       if ($content_of_file[$i]=~m/^Runaway argument?/ or $content_of_file[$i]=~m/^!/) {        if ($content_of_file[$i]=~m/^Runaway argument?/ or $content_of_file[$i]=~m/^!/) {
Line 236  foreach $texfile (@texfile) { Line 237  foreach $texfile (@texfile) {
   $sygnal = 0;    $sygnal = 0;
       }         } 
       if ($sygnal) {        if ($sygnal) {
   print "$content_of_file[$i]<br />";    print "$content_of_file[$i]";
       }          }  
   }    }
     print "</pre>\n";
           if ($advans_role) {              if ($advans_role) {  
               print "<b><big>The link to ";                print "<b><big>The link to ";
               $logfilename=~s/\/home\/httpd//;                $logfilename=~s/\/home\/httpd//;

Removed from v.1.69  
changed lines
  Added in v.1.73


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