[LON-CAPA-cvs] cvs: loncom /homework grades.pm
www
lon-capa-cvs-allow@mail.lon-capa.org
Sat, 16 Jun 2007 01:37:46 -0000
www Fri Jun 15 21:37:46 2007 EDT
Modified files:
/loncom/homework grades.pm
Log:
More work on clickers
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.409 loncom/homework/grades.pm:1.410
--- loncom/homework/grades.pm:1.409 Fri Jun 15 18:16:13 2007
+++ loncom/homework/grades.pm Fri Jun 15 21:37:44 2007
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.409 2007/06/15 22:16:13 albertel Exp $
+# $Id: grades.pm,v 1.410 2007/06/16 01:37:44 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -6313,6 +6313,20 @@
'<span class="LC_filename">'.&HTML::Entities::encode($env{'form.upfile.filename'},'<>&"').'</span>');
return $result.&show_grading_menu_form($symb);
}
+
+# Were able to get all the info needed, now analyze the file
+
+ my $heading=&mt('Scanning clicker file');
+ $result.=(<<ENDHEADER);
+<br /><table width="100%" border="0"><tr><td bgcolor="#777777">
+<table width="100%" border="0"><tr bgcolor="#e6ffff"><td>
+<b>$heading</b></td></tr><tr bgcolor=#ffffe6><td>
+<form method="post" action="/adm/grades" name="clickeranalysis">
+<input type="hidden" name="symb" value="$symb" />
+<input type="hidden" name="command" value="assignclickergrades" />
+<input type="hidden" name="probTitle" value="$env{'form.probTitle'}" />
+<input type="hidden" name="saveState" value="$env{'form.saveState'}" />
+ENDHEADER
my %responses;
my @questiontitles;
my $errormsg='';
@@ -6320,10 +6334,21 @@
if ($env{'form.upfiletype'} eq 'iclicker') {
($errormsg,$number)=&iclicker_eval(\@questiontitles,\%responses);
}
- $result.='<br />'.&mt('Found [_1] questions',$number).'<br />';
+ $result.='<br />'.&mt('Found [_1] question(s)',$number).'<br />';
+ my $found_correct_flag=0;
foreach my $id (keys(%responses)) {
- $result.='<br />'.$id.' - '.$responses{$id};
+ if ($correct_ids{$id}) {
+ $result.="\n".'<input type="hidden" name="correct:'.$correct_ids{$id}.'" value="'.$responses{$id}.'" />';
+ $found_correct_flag++;
+ } elsif ($clicker_ids{$id}) {
+ $result.="\n".'<input type="hidden" name="student:'.$clicker_ids{$id}.'" value="'.$responses{$id}.'" />';
+ } else {
+ $result.="\n<br />Unknown: ".$id." - ".$responses{$id};
+ }
}
+ $result.='</form>';
+ $result.='</td></tr></table>'."\n".
+ '</td></tr></table><br /><br />'."\n";
return $result.&show_grading_menu_form($symb);
}
@@ -6332,14 +6357,8 @@
my $number=0;
my $errormsg='';
foreach my $line (split(/[\n\r]/,$env{'form.upfile'})) {
- chomp($line);
- foreach my $quoted ($line=~/\,\s*\"([^\"]*)\"\s*\,/g) {
- my $replace=$quoted;
- $replace=~s/\,//g;
- &Apache::lonnet::logthis($quoted.' - '.$replace.'<br />');
- $line=~s/\,\s*\"\Q$quoted\E\"\s*\,/,$replace,/gs;
- }
- my @entries=split(/\,/,$line);
+ my %components=&Apache::loncommon::record_sep($line);
+ my @entries=map {$components{$_}} (sort(keys(%components)));
if ($entries[0] eq 'Question') {
for (my $i=3;$i<$#entries;$i+=6) {
$$questiontitles[$number]=$entries[$i];