Log Message:
-----------
fixed error message when answer log does not exist
Modified Files:
--------------
webwork2/lib/WeBWorK/ContentGenerator/Instructor:
ShowAnswers.pm
Revision Data
-------------
Index: ShowAnswers.pm
===================================================================
RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -Llib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm -Llib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm -u -r1.14 -r1.15
--- lib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm
+++ lib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm
@@ -98,24 +98,29 @@
my $pattern = "^[[^]]*]|$studentUser\\|$setName\\|$problemNumber\\|";
- if (open(LOG,"$answer_log")) {
- my $line;
- $self->{lastdate} = '';
- $self->{lasttime} = 0;
- $self->{lastID} = '';
- $self->{lastn} = 0;
-
- my @lines = grep(/$pattern/,<LOG>); close(LOG);
- chomp(@lines);
- foreach $line (@lines) {$line = substr($line,27)}; # remove datestamp
-
- print CGI::start_table({border=>0,cellpadding=>0,cellspacing=>3,align=>"center"});
- print "No entries for $studentUser set $setName, problem $problemNumber" unless @lines;
- foreach $line (sort byData @lines) {$self->tableRow(split("\t",$line,-1))}
- print CGI::Tr(CGI::td({colspan=>$self->{lastn}},CGI::hr({size=>3}))) if ($self->{lastn});
- print CGI::end_table();
+ if (-e $answer_log) {
+ if (open my $log, $answer_log) {
+ my $line;
+ $self->{lastdate} = '';
+ $self->{lasttime} = 0;
+ $self->{lastID} = '';
+ $self->{lastn} = 0;
+
+ my @lines = grep(/$pattern/,<LOG>); close(LOG);
+ chomp(@lines);
+ foreach $line (@lines) {$line = substr($line,27)}; # remove datestamp
+
+ print CGI::start_table({border=>0,cellpadding=>0,cellspacing=>3,align=>"center"});
+ print "No entries for $studentUser set $setName, problem $problemNumber" unless @lines;
+ foreach $line (sort byData @lines) {$self->tableRow(split("\t",$line,-1))}
+ print CGI::Tr(CGI::td({colspan=>$self->{lastn}},CGI::hr({size=>3}))) if ($self->{lastn});
+ print CGI::end_table();
+ } else {
+ $self->addbadmessage("Failed to open the answer log '$answer_log': $!");
+ }
} else {
- print "<B>Can't open the access log $answer_log</B>";
+ # no answer log exists yet -- this is probably not an error
+ print "No answers have been logged. (Answer log '$answer_log' does not exist.)";
}
}
|