version 1.37, 2003/08/08 12:38:00
|
version 1.43, 2003/10/08 19:38:41
|
Line 77 use POSIX qw(strftime mktime);
|
Line 77 use POSIX qw(strftime mktime);
|
my @metalist; |
my @metalist; |
|
|
$simplestatus=''; |
$simplestatus=''; |
|
my %countext=(); |
|
|
sub writesimple { |
sub writesimple { |
open(SMP,'>/home/httpd/html/lon-status/mysql.txt'); |
open(SMP,'>/home/httpd/html/lon-status/mysql.txt'); |
Line 84 sub writesimple {
|
Line 85 sub writesimple {
|
close(SMP); |
close(SMP); |
} |
} |
|
|
|
sub writecount { |
|
open(RSMP,'>/home/httpd/html/lon-status/rescount.txt'); |
|
foreach (keys %countext) { |
|
print RSMP $_.'='.$countext{$_}.'&'; |
|
} |
|
print RSMP 'time='.time."\n"; |
|
close(RSMP); |
|
} |
|
|
|
sub count { |
|
my $file=shift; |
|
$file=~/\.(\w+)$/; |
|
my $ext=lc($1); |
|
if (defined($countext{$ext})) { |
|
$countext{$ext}++; |
|
} else { |
|
$countext{$ext}=1; |
|
} |
|
} |
# ----------------------------------------------------- Un-Escape Special Chars |
# ----------------------------------------------------- Un-Escape Special Chars |
|
|
sub unescape { |
sub unescape { |
Line 118 sub dynamicmeta {
|
Line 138 sub dynamicmeta {
|
my %cnt=(); |
my %cnt=(); |
my %listitems=('count' => 'add', |
my %listitems=('count' => 'add', |
'course' => 'add', |
'course' => 'add', |
|
'goto' => 'add', |
|
'comefrom' => 'add', |
'avetries' => 'avg', |
'avetries' => 'avg', |
'stdno' => 'add', |
'stdno' => 'add', |
'difficulty' => 'avg', |
'difficulty' => 'avg', |
Line 132 sub dynamicmeta {
|
Line 154 sub dynamicmeta {
|
my $regexp=$url; |
my $regexp=$url; |
$regexp=~s/(\W)/\\$1/g; |
$regexp=~s/(\W)/\\$1/g; |
$regexp='___'.$regexp.'___([a-z]+)$'; |
$regexp='___'.$regexp.'___([a-z]+)$'; |
foreach (keys %evaldata) { |
while (my ($esckey,$value)=each %evaldata) { |
my $key=&unescape($_); |
$key=&unescape($esckey); |
if ($key=~/$regexp/) { |
if ($key=~/$regexp/) { |
my $ctype=$1; |
my $ctype=$1; |
if (defined($cnt{$ctype})) { |
if (defined($cnt{$ctype})) { |
Line 143 sub dynamicmeta {
|
Line 165 sub dynamicmeta {
|
} |
} |
unless ($listitems{$ctype} eq 'app') { |
unless ($listitems{$ctype} eq 'app') { |
if (defined($sum{$ctype})) { |
if (defined($sum{$ctype})) { |
$sum{$ctype}+=$evaldata{$_}; |
$sum{$ctype}+=$value; |
} else { |
} else { |
$sum{$ctype}=$evaldata{$_}; |
$sum{$ctype}=$value; |
} |
} |
} else { |
} else { |
if (defined($sum{$ctype})) { |
if (defined($sum{$ctype})) { |
if ($evaldata{$_}) { |
if ($value) { |
$sum{$ctype}.='<hr>'.$evaldata{$_}; |
$sum{$ctype}.='<hr>'.$value; |
} |
} |
} else { |
} else { |
$sum{$ctype}=''.$evaldata{$_}; |
$sum{$ctype}=''.$value; |
} |
} |
} |
} |
if ($ctype ne 'count') { |
if ($ctype ne 'count') { |
$newevaldata{$_}=$evaldata{$_}; |
$newevaldata{$esckey}=$value; |
} |
} |
} |
} |
} |
} |
Line 290 foreach my $user (@homeusers) {
|
Line 312 foreach my $user (@homeusers) {
|
my $m2='/res/'.&declutter($m); |
my $m2='/res/'.&declutter($m); |
$m2=~s/\.meta$//; |
$m2=~s/\.meta$//; |
&dynamicmeta($m2); |
&dynamicmeta($m2); |
|
if ($ref->{'obsolete'}) { print LOG "obsolete\n"; next; } |
|
if ($ref->{'copyright'} eq 'private') { print LOG "private\n"; next; } |
|
&count($m2); |
$delete_sth->execute($m2); |
$delete_sth->execute($m2); |
$insert_sth->execute($ref->{'title'}, |
$insert_sth->execute($ref->{'title'}, |
$ref->{'author'}, |
$ref->{'author'}, |
Line 317 foreach my $user (@homeusers) {
|
Line 342 foreach my $user (@homeusers) {
|
|
|
# ------------------------------------------- Copy over the new db-files |
# ------------------------------------------- Copy over the new db-files |
# |
# |
# Check the size of nohist_new_resevaldata.db compared to |
|
# nohist_resevaldata.db |
system('mv '.$prodir.'/nohist_new_resevaldata.db '. |
my @stat_result = stat($prodir.'/nohist_new_resevaldata.db'); |
$prodir.'/nohist_resevaldata.db'); |
my $new_size = $stat_result[7]; |
|
@stat_result = stat($prodir.'/nohist_resevaldata.db'); |
|
my $old_size = $stat_result[7]; |
|
if ($new_size/$old_size > 0.15 ) { |
|
system('mv '.$prodir.'/nohist_new_resevaldata.db '. |
|
$prodir.'/nohist_resevaldata.db'); |
|
} else { |
|
print LOG "Size of '$user' old nohist_reseval: $old_size ". |
|
"Size of new: $new_size. Not overwriting.\n"; |
|
my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; |
|
my $subj="LON: $perlvar{'lonHostID'} searchcat.pl $user reseval ". |
|
"modification error."; |
|
system("echo ". |
|
"'See /home/httpd/perl/logs/searchcat.txt for information.' ". |
|
"| mailto $emailto -s '$subj' > /dev/null"); |
|
} |
|
|
|
} |
} |
# --------------------------------------------------- Close database connection |
# --------------------------------------------------- Close database connection |
$dbh->disconnect; |
$dbh->disconnect; |
print LOG "\n==== Searchcat completed ".localtime()." ====\n"; |
print LOG "\n==== Searchcat completed ".localtime()." ====\n"; |
close(LOG); |
close(LOG); |
&writesimple(); |
&writesimple(); |
|
&writecount(); |
exit 0; |
exit 0; |
|
|
|
|