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>