Changeset 21579 for main/trunk/greenstone2
- Timestamp:
- 2010-01-22T15:04:29+13:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/arcinfo.pm
r21568 r21579 54 54 55 55 sub new { 56 my ($class) = @_; 57 my $self = {'info'=>{}, 56 my $class = shift(@_); 57 my $infodbtype = shift(@_); 58 59 # If the infodbtype wasn't passed in, use the default from dbutil 60 if (!defined($infodbtype)) 61 { 62 $infodbtype = &dbutil::get_default_infodb_type(); 63 } 64 65 my $self = {'infodbtype' => $infodbtype, 66 'info'=>{}, 58 67 'reverse-info'=>{}, 59 68 'order'=>[], … … 93 102 my $infodb_map = {}; 94 103 95 &dbutil::read_infodb_file( "gdbm", $filename, $infodb_map);104 &dbutil::read_infodb_file($self->{'infodbtype'}, $filename, $infodb_map); 96 105 97 106 foreach my $oid ( keys %$infodb_map ) { … … 130 139 my $infodb_map = {}; 131 140 132 &dbutil::read_infodb_keys( "gdbm", $filename, $infodb_map);141 &dbutil::read_infodb_keys($self->{'infodbtype'}, $filename, $infodb_map); 133 142 134 143 foreach my $file ( keys %$infodb_map ) { … … 163 172 my $rev_infodb_map = {}; 164 173 165 &dbutil::read_infodb_file( "gdbm", $rev_filename, $rev_infodb_map);174 &dbutil::read_infodb_file($self->{'infodbtype'}, $rev_filename, $rev_infodb_map); 166 175 167 176 foreach my $srcfile ( keys %$rev_infodb_map ) { … … 200 209 # read it in 201 210 my $infodb_map = {}; 202 &dbutil::read_infodb_file( "gdbm", $filename, $infodb_map);211 &dbutil::read_infodb_file($self->{'infodbtype'}, $filename, $infodb_map); 203 212 204 213 # change index-status values … … 218 227 219 228 # write out again 220 my $infodb_handle = &dbutil::open_infodb_write_handle( "gdbm", $filename);229 my $infodb_handle = &dbutil::open_infodb_write_handle($self->{'infodbtype'}, $filename); 221 230 foreach my $oid ( keys %$infodb_map ) { 222 231 # consider making the following a method in dbutil … … 224 233 225 234 # no need to escape, as $infodb_map->{$oid} hasn't been unescaped 235 # GDBM SPECIFIC! 226 236 print $infodb_handle "[$oid]\n"; 227 237 print $infodb_handle $infodb_map->{$oid}; 228 238 print $infodb_handle '-' x 70, "\n"; 229 239 } 230 &dbutil::close_infodb_write_handle( "gdbm", $infodb_handle);240 &dbutil::close_infodb_write_handle($self->{'infodbtype'}, $infodb_handle); 231 241 232 242 } … … 240 250 my $rev_infodb_map = $self->{'reverse-info'}; 241 251 my $rev_infodb_handle 242 = &dbutil::open_infodb_write_handle( "gdbm", $rev_filename, "append");252 = &dbutil::open_infodb_write_handle($self->{'infodbtype'}, $rev_filename, "append"); 243 253 244 254 foreach my $key ( keys %$rev_infodb_map ) { 245 255 my $val_hash = $rev_infodb_map->{$key}; 246 &dbutil::write_infodb_entry( "gdbm", $rev_infodb_handle, $key, $val_hash);247 } 248 &dbutil::close_infodb_write_handle( "gdbm", $rev_infodb_handle);256 &dbutil::write_infodb_entry($self->{'infodbtype'}, $rev_infodb_handle, $key, $val_hash); 257 } 258 &dbutil::close_infodb_write_handle($self->{'infodbtype'}, $rev_infodb_handle); 249 259 250 260 }
Note:
See TracChangeset
for help on using the changeset viewer.