Diff for /loncom/interface/statistics/lonstudentassessment.pm between versions 1.35 and 1.36

version 1.35, 2003/03/05 20:31:13 version 1.36, 2003/03/06 21:12:54
Line 656  my $filename; Line 656  my $filename;
 my $rows_output;  my $rows_output;
 my $cols_output;  my $cols_output;
   
 my $num_students;  my %prog_state; # progress window state
 my $start_time;  
   
 sub excel_initialize {  sub excel_initialize {
     my ($r) = @_;      my ($r) = @_;
Line 672  sub excel_initialize { Line 671  sub excel_initialize {
     $rows_output = 0;      $rows_output = 0;
     $cols_output = 0;      $cols_output = 0;
     #      #
     $num_students = 0;  
     $start_time   = time;  
     #  
     # Create sheet      # Create sheet
     $excel_workbook = Spreadsheet::WriteExcel->new('/home/httpd'.$filename);      $excel_workbook = Spreadsheet::WriteExcel->new('/home/httpd'.$filename);
     #      #
Line 764  sub excel_initialize { Line 760  sub excel_initialize {
     $r->print("</h1>\n");      $r->print("</h1>\n");
     $r->rflush();      $r->rflush();
     #      #
       # Initialize progress window
       %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
           ($r,'Excel File Compilation Status',
            'Excel File Compilation Progress', $studentcount);
       #
     return;      return;
 }  }
   
Line 805  sub excel_outputstudent { Line 806  sub excel_outputstudent {
     $rows_output++;       $rows_output++; 
     $cols_output=0;      $cols_output=0;
     #      #
     # Time estimate      # Update the progress window
     $num_students++;      &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,'last student');
     if ($num_students % 10 == 0) {  
         my $time_est = (time - $start_time)/$num_students *   
             (scalar(@Apache::lonstatistics::Students)-$num_students);  
         $time_est = int($time_est);  
         if (int ($time_est/60) > 0) {  
             my $min = int($time_est/60);  
             my $sec = $time_est % 60;  
             $time_est = $min.' minutes';  
             if ($sec > 1) {  
                 $time_est.= ', '.$sec.' seconds';  
             } elsif ($sec > 0) {  
                 $time_est.= ', '.$sec.' second';  
             }  
         } else {  
             $time_est .= ' seconds';  
         }  
         $r->print($num_students.' out of '.  
                   (scalar(@Apache::lonstatistics::Students)).  
                   " students processed.  ".  
                   $time_est." remain.  Elapsed: ".(time - $start_time).  
                   "<br />\n");  
         $r->rflush();  
     }  
     return;      return;
 }  }
   
Line 843  sub excel_finish { Line 821  sub excel_finish {
     #      #
     return if($c->aborted());      return if($c->aborted());
     #      #
       # Close the progress window
       &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
       #
     # Tell the user where to get their excel file      # Tell the user where to get their excel file
     $r->print('<br /><br />'.      $r->print('<br />'.
               '<a href="'.$filename.'">Your Excel spreadsheet.</a>'."\n");                '<a href="'.$filename.'">Your Excel spreadsheet.</a>'."\n");
     my $total_time = time - $start_time;  
     if (int ($total_time / 60) > 0) {  
         $total_time = int($total_time/60).' minutes, '.($total_time % 60);  
     }  
     $r->print('<br />'.$total_time.' seconds total');  
     $r->rflush();      $r->rflush();
     return;      return;
 }  }

Removed from v.1.35  
changed lines
  Added in v.1.36


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