Annotation of capa/capa51/CapaTools/rebuild.pl, revision 1.1

1.1     ! albertel    1: #!/usr/local/bin/perl
        !             2: 
        !             3:  require('getopts.pl');
        !             4:  
        !             5:  
        !             6:  
        !             7:  sub  S_Enterpath {
        !             8:     local($set)=@_;
        !             9:     local($notdone,$path);
        !            10:     
        !            11:     $notdone = 1;
        !            12:     while ($notdone) {
        !            13:       print "Please enter the CLASS absolute path:\n";
        !            14:       $path = <>; chomp($path);
        !            15:       if( $path =~ /\/$/ ) {
        !            16:         $Rfullpath = "$path" . "records";
        !            17:         $Lfullpath = "$path" . "records/log$set.db";
        !            18:         $Wfullpath = "$path" . "records/weblog$set.db";
        !            19:       } else {
        !            20:         $Rfullpath = "$path" . "/records";
        !            21:         $Lfullpath = "$path" . "/records/log$set.db";
        !            22:         $Wfullpath = "$path" . "/records/weblog$set.db";
        !            23:       }
        !            24:       if( -d $path ) {
        !            25:         if( -d $Rfullpath ) {
        !            26:           if( -f $Lfullpath ) {
        !            27:             $notdone = 0;
        !            28:           } else {
        !            29:             print "File [$Lfullpath] does not exist!\n";
        !            30:           }
        !            31:           if( -f $Wfullpath ) {
        !            32:             $notdone = 0;
        !            33:           } else {
        !            34:             print "File [$Wfullpath] does not exist!\n";
        !            35:           }
        !            36:         } else {
        !            37:           print "Directory [$Rfullpath] does not exist!\n";
        !            38:         }
        !            39:       } else {
        !            40:         print "Directory [$path] does not exist!\n";
        !            41:       }
        !            42:     
        !            43:     }
        !            44:     return ($path);
        !            45:   }
        !            46:   
        !            47:   sub S_ScanDB  {
        !            48:     local($filename)=@_;
        !            49:     local($line_cnt)=0;
        !            50:     local($s_num,$dow,$mon,$sp,$day,$time,$yr,$ans_str);
        !            51:     local($rest);
        !            52:     local(@ans_char);
        !            53:     local($ii,$first,$cmd);
        !            54:     local($usr_ans,$usr_try,$prob_cnt);
        !            55:     
        !            56:     open(IN, "<$filename") || die "Cannot open $filename file!";
        !            57:     $Yes_cnt = 0; $No_cnt = 0;
        !            58:     while (<IN>) {
        !            59:       $line_cnt++;
        !            60:       chomp();
        !            61:       ($first,$ans_str) = split(/ [1-9][0-9][0-9][0-9] /);
        !            62:        # print "$ans_str\n";
        !            63:       ($s_num,$rest) = split(/ /,$first);
        !            64:       (@ans_char) = split(/ */,$ans_str);
        !            65:        $s_num = uc($s_num)
        !            66:        $usr_ans = "$s_num" . "ans";
        !            67:        $usr_try = "$s_num" . "try";
        !            68:        if( $prob_cnt == 0 ) {
        !            69:          $prob_cnt = $#ans_char +1;
        !            70:        }
        !            71:        if(! defined @$usr_ans  ) {
        !            72:          for($ii=0;$ii<=$#ans_char;$ii++) {
        !            73:            $$usr_ans[$ii] = '-';
        !            74:          }
        !            75:        }
        !            76:        if(! defined @$usr_try  ) {
        !            77:          for($ii=0;$ii<=$#ans_char;$ii++) {
        !            78:            $$usr_try[$ii] = 0;
        !            79:          }
        !            80:        }
        !            81:        for($ii=0;$ii<=$#ans_char;$ii++) {
        !            82:          if( $ans_char[$ii] eq 'Y') {
        !            83:            $$usr_ans[$ii] = 'Y';
        !            84:            $$usr_try[$ii]++;
        !            85:          }
        !            86:          if( $ans_char[$ii] eq 'N') {
        !            87:            if( $$usr_ans[$ii] ne 'Y') {
        !            88:              $$usr_ans[$ii] = 'N';
        !            89:            }
        !            90:            $$usr_try[$ii]++;
        !            91:          }
        !            92:        }
        !            93:        if(! defined $Exist{"$s_num"} ) {
        !            94:          $Exist{"$s_num"} = $s_num;
        !            95:        }
        !            96:      }
        !            97:      close(IN) || die "Cannot close $filename file!";
        !            98:      return ($prob_cnt);
        !            99:   }
        !           100:   
        !           101:   
        !           102:   
        !           103:   if(! &Getopts('s:') ) {
        !           104:      print STDERR "$Usage\n";
        !           105:      exit 2;
        !           106:   }
        !           107:   $opt_s = 1  if ! $opt_s;
        !           108:   S_Enterpath($opt_s);
        !           109:   
        !           110:   $cnt = S_ScanDB("$Lfullpath");
        !           111:   $cnt = S_ScanDB("$Wfullpath");
        !           112:   
        !           113:   foreach $sn (sort keys %Exist) {
        !           114:     $usr_ans = "$sn" . "ans";
        !           115:     $usr_try = "$sn" . "try";
        !           116:     print "$sn ";
        !           117:     for($ii = 0; $ii< $cnt;$ii++) {
        !           118:       print $$usr_ans[$ii];
        !           119:     }
        !           120:     for($ii = 0; $ii< $cnt;$ii++) {
        !           121:       printf ",%2d", $$usr_try[$ii];
        !           122:     }
        !           123:     print "\n";
        !           124:   }
        !           125:   
        !           126:   
        !           127:   
        !           128:   
        !           129:   
        !           130:   
        !           131:   

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