File:
[LON-CAPA] /
capa /
capa51 /
CapaTools /
rebuild.pl
Revision
1.4:
download - view:
text,
annotated -
select for diffs
Mon Aug 7 20:47:29 2000 UTC (24 years, 1 month ago) by
albertel
Branches:
MAIN
CVS tags:
version_2_9_X,
version_2_9_99_0,
version_2_9_1,
version_2_9_0,
version_2_8_X,
version_2_8_99_1,
version_2_8_99_0,
version_2_8_2,
version_2_8_1,
version_2_8_0,
version_2_7_X,
version_2_7_99_1,
version_2_7_99_0,
version_2_7_1,
version_2_7_0,
version_2_6_X,
version_2_6_99_1,
version_2_6_99_0,
version_2_6_3,
version_2_6_2,
version_2_6_1,
version_2_6_0,
version_2_5_X,
version_2_5_99_1,
version_2_5_99_0,
version_2_5_2,
version_2_5_1,
version_2_5_0,
version_2_4_X,
version_2_4_99_0,
version_2_4_2,
version_2_4_1,
version_2_4_0,
version_2_3_X,
version_2_3_99_0,
version_2_3_2,
version_2_3_1,
version_2_3_0,
version_2_2_X,
version_2_2_99_1,
version_2_2_99_0,
version_2_2_2,
version_2_2_1,
version_2_2_0,
version_2_1_X,
version_2_1_99_3,
version_2_1_99_2,
version_2_1_99_1,
version_2_1_99_0,
version_2_1_3,
version_2_1_2,
version_2_1_1,
version_2_1_0,
version_2_12_X,
version_2_11_X,
version_2_11_5_msu,
version_2_11_5,
version_2_11_4_uiuc,
version_2_11_4_msu,
version_2_11_4,
version_2_11_3_uiuc,
version_2_11_3_msu,
version_2_11_3,
version_2_11_2_uiuc,
version_2_11_2_msu,
version_2_11_2_educog,
version_2_11_2,
version_2_11_1,
version_2_11_0_RC3,
version_2_11_0_RC2,
version_2_11_0_RC1,
version_2_11_0,
version_2_10_X,
version_2_10_1,
version_2_10_0_RC2,
version_2_10_0_RC1,
version_2_10_0,
version_2_0_X,
version_2_0_99_1,
version_2_0_2,
version_2_0_1,
version_2_0_0,
version_1_99_3,
version_1_99_2,
version_1_99_1_tmcc,
version_1_99_1,
version_1_99_0_tmcc,
version_1_99_0,
version_1_3_X,
version_1_3_3,
version_1_3_2,
version_1_3_1,
version_1_3_0,
version_1_2_X,
version_1_2_99_1,
version_1_2_99_0,
version_1_2_1,
version_1_2_0,
version_1_1_X,
version_1_1_99_5,
version_1_1_99_4,
version_1_1_99_3,
version_1_1_99_2,
version_1_1_99_1,
version_1_1_99_0,
version_1_1_3,
version_1_1_2,
version_1_1_1,
version_1_1_0,
version_1_0_99_3,
version_1_0_99_2,
version_1_0_99_1,
version_1_0_99,
version_1_0_3,
version_1_0_2,
version_1_0_1,
version_1_0_0,
version_0_99_5,
version_0_99_4,
version_0_99_3,
version_0_99_2,
version_0_99_1,
version_0_99_0,
version_0_6_2,
version_0_6,
version_0_5_1,
version_0_5,
version_0_4,
stable_2002_spring,
stable_2002_july,
stable_2002_april,
stable_2001_fall,
release_5-1-3,
loncapaMITrelate_1,
language_hyphenation_merge,
language_hyphenation,
conference_2003,
bz6209-base,
bz6209,
STABLE,
HEAD,
GCI_3,
GCI_2,
GCI_1,
CAPA_5-1-6,
CAPA_5-1-5,
CAPA_5-1-4_RC1,
BZ4492-merge,
BZ4492-feature_horizontal_radioresponse,
BZ4492-feature_Support_horizontal_radioresponse,
BZ4492-Support_horizontal_radioresponse
- fixed license notices the reference the GNU GPL rather than the GNU LGPL
1: #!/usr/local/bin/perl
2:
3: # rebuild a db file from the infomation in the records dir
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 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: # General Public License for more details.
15: #
16: # You should have received a copy of the GNU 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($rest);
75: local(@ans_char);
76: local($ii,$first,$cmd);
77: local($usr_ans,$usr_try,$prob_cnt);
78:
79: open(IN, "<$filename") || die "Cannot open $filename file!";
80: $Yes_cnt = 0; $No_cnt = 0;
81: while (<IN>) {
82: $line_cnt++;
83: chomp();
84: ($first,$ans_str) = split(/ [1-9][0-9][0-9][0-9] /);
85: # print "$ans_str\n";
86: ($s_num,$rest) = split(/ /,$first);
87: (@ans_char) = split(/ */,$ans_str);
88: $s_num = uc($s_num);
89: $usr_ans = "$s_num" . "ans";
90: $usr_try = "$s_num" . "try";
91: if( $prob_cnt == 0 ) {
92: $prob_cnt = $#ans_char +1;
93: }
94: if(! defined @$usr_ans ) {
95: for($ii=0;$ii<=$#ans_char;$ii++) {
96: $$usr_ans[$ii] = '-';
97: }
98: }
99: if(! defined @$usr_try ) {
100: for($ii=0;$ii<=$#ans_char;$ii++) {
101: $$usr_try[$ii] = 0;
102: }
103: }
104: for($ii=0;$ii<=$#ans_char;$ii++) {
105: if( $ans_char[$ii] eq 'Y') {
106: $$usr_ans[$ii] = 'Y';
107: $$usr_try[$ii]++;
108: }
109: if( $ans_char[$ii] eq 'N') {
110: if( $$usr_ans[$ii] ne 'Y') {
111: $$usr_ans[$ii] = 'N';
112: }
113: $$usr_try[$ii]++;
114: }
115: }
116: if(! defined $Exist{"$s_num"} ) {
117: $Exist{"$s_num"} = $s_num;
118: }
119: }
120: close(IN) || die "Cannot close $filename file!";
121: return ($prob_cnt);
122: }
123:
124:
125:
126: if(! &Getopts('s:') ) {
127: print STDERR "$Usage\n";
128: exit 2;
129: }
130: $opt_s = 1 if ! $opt_s;
131: S_Enterpath($opt_s);
132:
133: $cnt = S_ScanDB("$Lfullpath");
134: $cnt = S_ScanDB("$Wfullpath");
135:
136: foreach $sn (sort keys %Exist) {
137: $usr_ans = "$sn" . "ans";
138: $usr_try = "$sn" . "try";
139: print "$sn ";
140: for($ii = 0; $ii< $cnt;$ii++) {
141: print $$usr_ans[$ii];
142: }
143: for($ii = 0; $ii< $cnt;$ii++) {
144: printf ",%2d", $$usr_try[$ii];
145: }
146: print "\n";
147: }
148:
149:
150:
151:
152:
153:
154:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>