Diff for /loncom/metadata_database/searchcat.pl between versions 1.36 and 1.42

version 1.36, 2003/07/30 16:49:27 version 1.42, 2003/10/08 14:15:03
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 ($key,$value)=each %evaldata) {
  my $key=&unescape($_);   $key=&unescape($key);
  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{$_}=$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 316  foreach my $user (@homeusers) { Line 341  foreach my $user (@homeusers) {
     # ... not yet implemented      # ... not yet implemented
                   
     # ------------------------------------------- Copy over the new db-files      # ------------------------------------------- Copy over the new db-files
     system('mv '.$prodir.'/nohist_new_resevaldata.db '.      #
            $prodir.'/nohist_resevaldata.db');  
       system('mv '.$prodir.'/nohist_new_resevaldata.db '.
      $prodir.'/nohist_resevaldata.db');
   
 }  }
 # --------------------------------------------------- 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;
   
   

Removed from v.1.36  
changed lines
  Added in v.1.42


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