[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm

sakharuk lon-capa-cvs@mail.lon-capa.org
Fri, 09 Aug 2002 20:38:42 -0000


sakharuk		Fri Aug  9 16:38:42 2002 EDT

  Modified files:              
    /loncom/interface	lonprintout.pm 
  Log:
  Prints the whole course (problems only). It works for the nested 
  sequences. Tested on apcalc - works well. Need to be tested on course
  with pages and for course with nonlinear sequences. 
  
  
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.48 loncom/interface/lonprintout.pm:1.49
--- loncom/interface/lonprintout.pm:1.48	Fri Aug  9 14:06:46 2002
+++ loncom/interface/lonprintout.pm	Fri Aug  9 16:38:42 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Printout
 #
-# $Id: lonprintout.pm,v 1.48 2002/08/09 18:06:46 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.49 2002/08/09 20:38:42 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -196,8 +196,6 @@
 	}	
 	$result = &additional_cleanup($result);
     }  elsif ($choice eq 'Standard LaTeX output for the top level sequence') {
-	my @master_seq = ();
-	my @add_file_seq = ();
         # where is the main sequence of the course?
 	my $main_seq = '/res/'.$ENV{'request.course.uri'};
 	my $file=&Apache::lonnet::filelocation("",$main_seq);
@@ -206,85 +204,59 @@
 	for (my $iu=0;$iu<=$#file_seq;$iu++) {
 	    $file_seq[$iu]=~s/^"//;
 	    $file_seq[$iu]=~s/"$//;
-	    $file_seq[$iu]=&Apache::lonnet::filelocation("",$file_seq[$iu]);
-#remove	    $result .= ' SSS '.$file_seq[$iu].' FFF   ';
+	    if ($file_seq[$iu]=~m/\S+/) {
+		$file_seq[$iu]=&Apache::lonnet::filelocation("",$file_seq[$iu]);
+	    } else {
+		$file_seq[$iu]= 'REMOVE IT PLEASE';
+	    }
 	}
 	my $i=0;
-        while ($i<=$#file_seq) {
+        my $limit = $#file_seq;		    
+        while ($i<=$limit) {	
 	    unless ($file_seq[$i]=~m/\.(problem|page)/) {
 		if ($file_seq[$i]=~m/\.sequence/) {
 		    my $filecontents=&Apache::lonnet::getfile($file_seq[$i]);
 		    my @newfile_seq = &content_map($filecontents);
-		    $result .=' START '.$i.'   LOOK  '.$filecontents.' FINISH  ';
-#		    splice @file_seq,$1,1,@newfile_seq;
-#		    $i=-1;
+		    for (my $iu=0;$iu<=$#newfile_seq;$iu++) {
+			$newfile_seq[$iu]=~s/^"//;
+	                $newfile_seq[$iu]=~s/"$//;
+			if ($newfile_seq[$iu]=~m/\S+/) {
+			    $newfile_seq[$iu]=&Apache::lonnet::filelocation("",$newfile_seq[$iu]);
+			} else {
+			    $newfile_seq[$iu]= 'REMOVE IT PLEASE';
+			}
+		    }
+		    splice @file_seq,$i,1,@newfile_seq;
+		    $i=0;
+		    $limit = $#file_seq;
 		} else {
-		    splice @file_seq,$1,1;
+		    splice @file_seq,$i,1,'REMOVE IT PLEASE';
 		}
 	    }
-
-
-
-
 	    $i++;
 	}
 	for (my $iu=0;$iu<=$#file_seq;$iu++) {
-	    $result .= ' SSS '.$file_seq[$iu].' FFF   ';
+	    if ($file_seq[$iu]=~m/REMOVE IT PLEASE/) {
+		splice @file_seq,$iu,1;
+	    }
+	}
+	if ($file_seq[-1]=~m/REMOVE IT PLEASE/) {
+	    pop @file_seq;
 	}
-
-
-        # do we have any other sequence inside?
-#	$result.=$#file_seq.'   ';
-##	my $i=1;
-##	while ($i<=$#file_seq) {
-#	    $result.='      '.$file_seq[$i].'    ';
-##	    $file_seq[$i]=~s/^"//;
-##	    $file_seq[$i]=~s/"$//;
-##	    if ($file_seq[$i]=~m/\.sequence\s*$/) {
-##		$file = &Apache::lonnet::filelocation("",$file_seq[$i]);
-#		$result.='  location    '.$file.'   ';
-#		$result .= 'FFFFFFFFF'.$file.'  ';
-##		$filecontents=&Apache::lonnet::getfile($file);
-##		@add_file_seq = &content_map($filecontents);
-
-#
-#	for (my $iu=0;$iu<=$#add_file_seq;$iu++) {
-#	    $result .= ' SDSD '.$add_file_seq[$iu].' FDFD   ';
-#	}
-#
-
-
-##		splice(@file_seq,$i,1,@add_file_seq);
-##		@add_file_seq = ();
-##		$i = -1;
-##	    }
-##	    $i++;
-##	    last; #do not forget to remove 
-##	}
-##	@master_seq = @file_seq;	
-
-#
-#	for (my $iu=0;$iu<=$#file_seq;$iu++) {
-#	    $result .= ' SSS '.$file_seq[$iu].' FFF   ';
-#	}
-#
-
 #-- produce an output string
-###	for (my $i=0;$i<=$#master_seq;$i++) {
-###	    $_ = $master_seq[$i];
-###	    m/\"(.*)\"/;
-###         $_ = $1;
-###            my $urlp = $1;
-###            if (/\.(problem|exam|quiz|assess|survey|form|library)/) {
-###		my %moreenv;
-###		$moreenv{'form.grade_target'}='tex';
-###		&Apache::lonnet::appenv(%moreenv);
-###		my $texversion=&Apache::lonnet::ssi($urlp);
-###		&Apache::lonnet::delenv('form.grade_target');
-###		$result .= $texversion;        
-###	    }
-###	}	    
-###	$result = &additional_cleanup($result);
+	for (my $i=0;$i<=$#file_seq;$i++) {
+            my $urlp = $file_seq[$i];
+	    $urlp=~s/\/home\/httpd\/html//;	    
+            if ($urlp=~m/\.(problem|exam|quiz|assess|survey|form|library)/) {
+		my %moreenv;
+		$moreenv{'form.grade_target'}='tex';
+		&Apache::lonnet::appenv(%moreenv);
+		my $texversion=&Apache::lonnet::ssi($urlp);
+		&Apache::lonnet::delenv('form.grade_target');
+		$result .= $texversion;        
+	    }
+	}	    
+	$result = &additional_cleanup($result);
     } elsif ($choice eq 'Subdirectory print') {      
 	my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'});
 	$subdirtoprint =~ s/\/[^\/]+$//;