File:  [LON-CAPA] / capa / capa51 / CapaTools / loganalysis.pl
Revision 1.2: download - view: text, annotated - select for diffs
Fri Jul 7 18:33:29 2000 UTC (23 years, 10 months ago) by albertel
Branches: MAIN
CVS tags: version5-1-2-first_release, HEAD
- added GPL notices

    1: #!/usr/local/bin/perl
    2: 
    3: # log ananlysis for CAPA
    4: #  Copyright (C) 1992-2000 Michigan State University
    5: #
    6: #  The CAPA system is free software; you can redistribute it and/or
    7: #  modify it under the terms of the GNU Library General Public License as
    8: #  published by the Free Software Foundation; either version 2 of the
    9: #  License, or (at your option) any later version.
   10: #
   11: #  The CAPA system is distributed in the hope that it will be useful,
   12: #  but WITHOUT ANY WARRANTY; without even the implied warranty of
   13: #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   14: #  Library General Public License for more details.
   15: #
   16: #  You should have received a copy of the GNU Library General Public
   17: #  License along with the CAPA system; see the file COPYING.  If not,
   18: #  write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   19: #  Boston, MA 02111-1307, USA.
   20: #
   21: #  As a special exception, you have permission to link this program
   22: #  with the TtH/TtM library and distribute executables, as long as you
   23: #  follow the requirements of the GNU GPL in regard to all of the
   24: #  software in the executable aside from TtH/TtM.
   25: 
   26:  require('getopts.pl');
   27:  
   28:  
   29:  
   30:  sub  S_Enterpath {
   31:     local($set)=@_;
   32:     local($notdone,$path);
   33:     
   34:     $notdone = 1;
   35:     while ($notdone) {
   36:       print "Please enter the CLASS absolute path:\n";
   37:       $path = <>; chomp($path);
   38:       if( $path =~ /\/$/ ) {
   39:         $Rfullpath = "$path" . "records";
   40:         $Lfullpath = "$path" . "records/log$set.db";
   41:         $Wfullpath = "$path" . "records/weblog$set.db";
   42:       } else {
   43:         $Rfullpath = "$path" . "/records";
   44:         $Lfullpath = "$path" . "/records/log$set.db";
   45:         $Wfullpath = "$path" . "/records/weblog$set.db";
   46:       }
   47:       if( -d $path ) {
   48:         if( -d $Rfullpath ) {
   49:           if( -f $Lfullpath ) {
   50:             $notdone = 0;
   51:           } else {
   52:             print "File [$Lfullpath] does not exist!\n";
   53:           }
   54:           if( -f $Wfullpath ) {
   55:             $notdone = 0;
   56:           } else {
   57:             print "File [$Wfullpath] does not exist!\n";
   58:           }
   59:         } else {
   60:           print "Directory [$Rfullpath] does not exist!\n";
   61:         }
   62:       } else {
   63:         print "Directory [$path] does not exist!\n";
   64:       }
   65:     
   66:     }
   67:     return ($path);
   68:   }
   69:   
   70:   sub S_ScanDB  {
   71:     local($filename)=@_;
   72:     local($line_cnt)=0;
   73:     local($s_num,$dow,$mon,$sp,$day,$time,$yr,$ans_str);
   74:     local(@ans_char);
   75:     local($ii,$first);
   76:     local($Yes_cnt,$No_cnt);
   77:     
   78:     open(IN, "<$filename") || die "Cannot open $filename file!";
   79:     $Yes_cnt = 0; $No_cnt = 0;
   80:     while (<IN>) {
   81:       $line_cnt++;
   82:       chomp();
   83:       ($first,$ans_str) = split(/1997 /);
   84:        # print "$ans_str\n";
   85:       (@ans_char) = split(/ */,$ans_str);
   86:        
   87:        for($ii=0;$ii<=$#ans_char;$ii++) {
   88:        
   89:          $Yes_cnt++ if $ans_char[$ii] eq 'Y';
   90:          
   91:          $No_cnt++  if $ans_char[$ii] eq 'N';
   92:        }
   93:      }
   94:      close(IN) || die "Cannot close $filename file!";
   95:      print  "$filename contains $line_cnt lines.\n";
   96:      print  "  Yes = $Yes_cnt, No = $No_cnt\n";
   97:      return ($Yes_cnt,$No_cnt);
   98:   }
   99:   
  100:   
  101:   
  102:   if(! &Getopts('s:') ) {
  103:      print STDERR "$Usage\n";
  104:      exit 2;
  105:   }
  106:   $opt_s = 1  if ! $opt_s;
  107:   S_Enterpath($opt_s);
  108:   
  109:   ($Y_cntL,$N_cntL) = S_ScanDB("$Lfullpath");
  110:   ($Y_cntW,$N_cntW) = S_ScanDB("$Wfullpath");
  111:   $Yratio = 0.0; $Nratio = 0.0;
  112:   $Yratio = $Y_cntW / $Y_cntL;
  113:   $Nratio = $N_cntL / $N_cntW;
  114:   
  115:   printf " Y ratio = %5.2f, N ratio = %5.2f\n", $Yratio , $Nratio;
  116:   
  117:   
  118:   
  119:   
  120:   

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