Diff for /loncom/homework/grades.pm between versions 1.479 and 1.481

version 1.479, 2007/11/05 10:19:03 version 1.481, 2007/11/06 10:12:27
Line 42  use Apache::Constants qw(:common); Line 42  use Apache::Constants qw(:common);
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonenc;  use Apache::lonenc;
 use String::Similarity;  use String::Similarity;
 use Data::Dumper;  
 use LONCAPA;  use LONCAPA;
   
 use POSIX qw(floor);  use POSIX qw(floor);
Line 5174  sub scantron_fixup_scanline { Line 5173  sub scantron_fixup_scanline {
     my @alphabet=('A'..'Z');      my @alphabet=('A'..'Z');
     $answer=$alphabet[$bubble_number];      $answer=$alphabet[$bubble_number];
  } elsif ($on eq 'number') {   } elsif ($on eq 'number') {
     $answer=$args->$bubble_number+1;      $answer=$args->{$bubble_number+1};
     if ($answer == 10) { $answer = '0'; }      if ($answer == 10) { $answer = '0'; }
  } else {   } else {
     substr($answer,$args->{'response'},1)=$on;      substr($answer,$args->{'response'},1)=$on;
  }   }
  my $before = Dumper($scan_data);  
  &scan_data($scan_data,   &scan_data($scan_data,
    "$whichline.no_bubble.".$args->{'question'},undef,'1');     "$whichline.no_bubble.".$args->{'question'},undef,'1');
  my $after = Dumper($scan_data);  
  for (my $l = 0; $l < $bubble_count; $l++) {   for (my $l = 0; $l < $bubble_count; $l++) {
     if ($l eq $bubble_line) {      if ($l eq $bubble_line) {
  $final_answer .= $answer;   $final_answer .= $answer;
Line 6520  ENDSCRIPT Line 6517  ENDSCRIPT
  foreach my $question (@{$arg}) {   foreach my $question (@{$arg}) {
     my $selected  = &get_response_bubbles($scan_record, $question);      my $selected  = &get_response_bubbles($scan_record, $question);
     my @select_array = split(/:/,$selected);      my @select_array = split(/:/,$selected);
     &Apache::lonnet::logthis("Questnum: $question, bubbles: $selected scanline $i");  
     &scantron_bubble_selector($r,$scan_config,$question,      &scantron_bubble_selector($r,$scan_config,$question,
       @select_array);        @select_array);
  }   }
Line 6800  sub scantron_validate_doublebubble { Line 6796  sub scantron_validate_doublebubble {
     my ($scanlines,$scan_data)=&scantron_getfile();      my ($scanlines,$scan_data)=&scantron_getfile();
   
     &scantron_get_maxbubble(); # parse needs the bubble line array.      &scantron_get_maxbubble(); # parse needs the bubble line array.
     &Apache::lonnet::logthis("validate_double_bubble");  
   
     for (my $i=0;$i<=$scanlines->{'count'};$i++) {      for (my $i=0;$i<=$scanlines->{'count'};$i++) {
  my $line=&scantron_get_line($scanlines,$scan_data,$i);   my $line=&scantron_get_line($scanlines,$scan_data,$i);
Line 6808  sub scantron_validate_doublebubble { Line 6803  sub scantron_validate_doublebubble {
  my $scan_record=&scantron_parse_scanline($line,$i,\%scantron_config,   my $scan_record=&scantron_parse_scanline($line,$i,\%scantron_config,
  $scan_data);   $scan_data);
  if (!defined($$scan_record{'scantron.doubleerror'})) { next; }   if (!defined($$scan_record{'scantron.doubleerror'})) { next; }
  &Apache::lonnet::logthis("Double found for line $i : $line");  
  &scantron_get_correction($r,$i,$scan_record,\%scantron_config,$line,   &scantron_get_correction($r,$i,$scan_record,\%scantron_config,$line,
  'doublebubble',   'doublebubble',
  $$scan_record{'scantron.doubleerror'});   $$scan_record{'scantron.doubleerror'});

Removed from v.1.479  
changed lines
  Added in v.1.481


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