version 1.129, 2008/01/28 11:24:48
|
version 1.132, 2008/03/11 01:48:57
|
Line 43 use LONCAPA::Configuration;
|
Line 43 use LONCAPA::Configuration;
|
|
|
use strict; |
use strict; |
|
|
|
my $busy_wait_timeout = 30; |
|
|
# Determine if a user is operating as a student for this course/domain. |
# Determine if a user is operating as a student for this course/domain. |
#Parameters: |
#Parameters: |
Line 205 $env{'request.noversionuri'} = '/cgi-bin
|
Line 206 $env{'request.noversionuri'} = '/cgi-bin
|
close $temporary_file; |
close $temporary_file; |
my $noteps; |
my $noteps; |
my %prog_state; |
my %prog_state; |
if ($advanced_role) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Coverting Images to EPS','Picture Conversion Status',$#content_of_file,'inline','80'); } |
if ($advanced_role) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Converting Images to EPS','Picture Conversion Status',$#content_of_file,'inline','80'); } |
print('<br />'); |
print('<br />'); |
foreach my $not_eps (@content_of_file) { |
foreach my $not_eps (@content_of_file) { |
chomp($not_eps); |
chomp($not_eps); |
Line 376 foreach $texfile (@texfile) {
|
Line 377 foreach $texfile (@texfile) {
|
my $name_file = $2; |
my $name_file = $2; |
my $path_file = $1.'/'; |
my $path_file = $1.'/'; |
chdir $path_file; |
chdir $path_file; |
my $dvi_file= $name_file; $dvi_file =~ s/\.tex/$name_range\.dvi/; |
my $dvi_file= $name_file; $dvi_file =~ s/\.tex$/\.dvi/; |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
"for $status_statement now LaTeXing file", |
"for $status_statement now LaTeXing file", |
\%prog_state,$dvi_file, 10); |
\%prog_state,$dvi_file, $busy_wait_timeout); |
if ($tableofcontents eq 'yes') { |
if ($tableofcontents eq 'yes') { |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
"for $status_statement First LaTeX of file for table of contents", |
"for $status_statement First LaTeX of file for table of contents", |
\%prog_state,$dvi_file, 10); |
\%prog_state,$dvi_file, $busy_wait_timeout); |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
"for $status_statement Second LaTeX of file for table of contents", |
"for $status_statement Second LaTeX of file for table of contents", |
\%prog_state,$dvi_file,10); |
\%prog_state,$dvi_file,$busy_wait_timeout); |
} #to create table of contents |
} #to create table of contents |
my $idxname=$name_file; |
my $idxname=$name_file; |
$idxname=~s/\.tex$/\.idx/; |
$idxname=~s/\.tex$/\.idx/; |
Line 396 foreach $texfile (@texfile) {
|
Line 397 foreach $texfile (@texfile) {
|
\%prog_state,$idxname); |
\%prog_state,$idxname); |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null", |
"for $status_statement now LaTeXing file for index section", |
"for $status_statement now LaTeXing file for index section", |
\%prog_state,$dvi_file,10); |
\%prog_state,$dvi_file, $busy_wait_timeout); |
} #to create index |
} #to create index |
#Do we have a latex error in the log file? |
#Do we have a latex error in the log file? |
my $logfilename = $texfile; $logfilename =~ s/\.tex$/\.log/; |
my $logfilename = $texfile; $logfilename =~ s/\.tex$/\.log/; |
Line 448 foreach $texfile (@texfile) {
|
Line 449 foreach $texfile (@texfile) {
|
$logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; |
$logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; |
print "<a href=\"$logfilename\">Your log file </a></big></b>"; |
print "<a href=\"$logfilename\">Your log file </a></big></b>"; |
print "\n"; |
print "\n"; |
#link tooriginal LaTeX file (included according Michael Hamlin desire) |
#link to original LaTeX file |
my $tex_temporary_file=IO::File->new($texfile) || die "Couldn't open tex file $texfile for reading: $!\n"; |
my $tex_temporary_file=IO::File->new($texfile) || die "Couldn't open tex file $texfile for reading: $!\n"; |
my @tex_content_of_file = <$tex_temporary_file>; |
my @tex_content_of_file = <$tex_temporary_file>; |
close $tex_temporary_file; |
close $tex_temporary_file; |
Line 512 foreach $texfile (@texfile) {
|
Line 513 foreach $texfile (@texfile) {
|
# |
# |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement first latex to repaginate", |
"for $status_statement first latex to repaginate", |
\%prog_state, $name_file,10); |
\%prog_state, $name_file,$busy_wait_timeout); |
if ($tableofcontents eq 'yes') { |
if ($tableofcontents eq 'yes') { |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement second latex to repaginate", |
"for $status_statement second latex to repaginate", |
\%prog_state, $name_file,10); |
\%prog_state, $name_file,$busy_wait_timeout); |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement third latex to repaginate", |
"for $status_statement third latex to repaginate", |
\%prog_state, $name_file,10); |
\%prog_state, $name_file,$busy_wait_timeout); |
} |
} |
if ($tableofindex eq 'yes') { |
if ($tableofindex eq 'yes') { |
my $idxname = $latex_file; |
my $idxname = $latex_file; |
Line 529 foreach $texfile (@texfile) {
|
Line 530 foreach $texfile (@texfile) {
|
\%prog_state, $idxname); |
\%prog_state, $idxname); |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement now Recreting index (latex)", |
"for $status_statement now Recreting index (latex)", |
\%prog_state, $dvi_file,10); |
\%prog_state, $dvi_file,$busy_wait_timeout); |
|
|
} |
} |
&busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", |
Line 619 foreach $texfile (@texfile) {
|
Line 620 foreach $texfile (@texfile) {
|
$logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; |
$logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; |
print "<a href=\"$logfilename\">Your log file </a></big></b>"; |
print "<a href=\"$logfilename\">Your log file </a></big></b>"; |
print "\n"; |
print "\n"; |
#link tooriginal LaTeX file (included according Michael Hamlin desire) |
#link to original LaTeX file |
my $tex_temporary_file=IO::File->new($texfile) || die "Couldn't open tex file $texfile for reading: $!\n"; |
my $tex_temporary_file=IO::File->new($texfile) || die "Couldn't open tex file $texfile for reading: $!\n"; |
my @tex_content_of_file = <$tex_temporary_file>; |
my @tex_content_of_file = <$tex_temporary_file>; |
close $tex_temporary_file; |
close $tex_temporary_file; |
Line 685 foreach $texfile (@texfile) {
|
Line 686 foreach $texfile (@texfile) {
|
&repaginate($new_name_file, $latex_file, $numberofcolumns); |
&repaginate($new_name_file, $latex_file, $numberofcolumns); |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement first latex to repaginate", |
"for $status_statement first latex to repaginate", |
\%prog_state, $name_file,10); |
\%prog_state, $name_file, $busy_wait_timeout); |
if ($tableofcontents eq 'yes') { |
if ($tableofcontents eq 'yes') { |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement second latex to repaginate", |
"for $status_statement second latex to repaginate", |
\%prog_state, $name_file,10); |
\%prog_state, $name_file, $busy_wait_timeout); |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement third latex to repaginate", |
"for $status_statement third latex to repaginate", |
\%prog_state, $name_file,10); |
\%prog_state, $name_file, $busy_wait_timeout); |
} |
} |
if ($tableofindex eq 'yes') { |
if ($tableofindex eq 'yes') { |
my $idxname = $latex_file; |
my $idxname = $latex_file; |
Line 702 foreach $texfile (@texfile) {
|
Line 703 foreach $texfile (@texfile) {
|
\%prog_state, $idxname); |
\%prog_state, $idxname); |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", |
"for $status_statement now Recreting index (latex)", |
"for $status_statement now Recreting index (latex)", |
\%prog_state, $dvi_file,10); |
\%prog_state, $dvi_file, $busy_wait_timeout); |
} |
} |
&busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", |
&busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", |
"for $status_statement dvips to repaginate", |
"for $status_statement dvips to repaginate", |
Line 823 sub busy_wait_command {
|
Line 824 sub busy_wait_command {
|
if ($size == $last_size) { |
if ($size == $last_size) { |
$unchanged_time++; |
$unchanged_time++; |
if ($timeout && ($unchanged_time > $timeout)) { |
if ($timeout && ($unchanged_time > $timeout)) { |
|
print "<h1>Operation timed out!</h1>\n"; |
|
print "<p>Executing $command, the output file $output_file did not grow\n"; |
|
print "after $timeout seconds. This <em>may</em> indicate $command\n"; |
|
print "is in an infinite loop.\n"; |
|
print "See if printing fewer copies helps. Please contact LON-CAPA\n"; |
|
print "support about this in any event."; |
|
print "</p>"; |
kill(9, $pid); # Reaper will do the rest...I hope there's errors in the log. |
kill(9, $pid); # Reaper will do the rest...I hope there's errors in the log. |
} |
} |
} else { |
} else { |