--- loncom/metadata_database/parse_activity_log.pl 2005/09/19 18:31:57 1.16 +++ loncom/metadata_database/parse_activity_log.pl 2005/09/20 16:50:40 1.18 @@ -2,7 +2,7 @@ # # The LearningOnline Network # -# $Id: parse_activity_log.pl,v 1.16 2005/09/19 18:31:57 matthew Exp $ +# $Id: parse_activity_log.pl,v 1.18 2005/09/20 16:50:40 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -131,7 +131,7 @@ if ($log) { print STDERR "$0: logging to $logfile".$/; if (! open(LOGFILE,">$logfile")) { warn("Unable to open $logfile for writing. Run aborted."); - &cleanup_and_exit(5); + &clean_up_and_exit(5); } else { $logthis = \&log_to_file; } @@ -180,7 +180,9 @@ if (! defined($xmlfile)) { open(LOCKFILE,'>'.$lockfilename); if (!flock(LOCKFILE,LOCK_EX|LOCK_NB)) { warn("Unable to lock $lockfilename. Aborting".$/); - &clean_up_and_exit(6); + # don't call clean_up_and_exit another instance is running and + # we don't want to 'cleanup' there files + exit 6; } if (! -e $newfilename && -e $sourcefilename) { @@ -486,6 +488,19 @@ sub process_courselog { foreach my $chunk (split(/\&\&\&/,$log)) { my $warningflag = ''; my ($time,$res,$uname,$udom,$action,@values)= split(/:/,$chunk); + # + # Sometimes we get a file pasted into the activity.log from + # an upload form. Here we try to detect it and avoid inserting + # it into the database to avoid the quiet death of the database + # connection + my $i; + for ($i=0;$i<$#values;$i++) { + if ($values[$i] =~ /^HWVAL/) { + $#values = $i; + last; + } + } + # if (! defined($res) || $res =~ /^\s*$/) { $res = '/adm/roles'; $action = 'LOGIN';