Changeset 15705

Show
Ignore:
Timestamp:
26.05.2008 16:47:17 (11 years ago)
Author:
mdewsnip
Message:

Merged the one lonely function in unbuildutil into dbutil, as it is GDBM-specific.

Location:
gsdl/trunk/perllib
Files:
1 removed
2 modified

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/perllib/classify.pm

    r15704 r15705  
    3131require AllList; 
    3232 
     33use dbutil; 
    3334use gsprintf; 
    3435use strict; no strict 'subs'; 
    35 use unbuildutil; 
    3636 
    3737 
     
    233233sub reconstruct_doc_objs_metadata 
    234234{ 
    235     my ($fulldbname) = @_; 
     235    my ($infodb_file_path) = @_; 
    236236 
    237237    my %database_recs; 
    238     &unbuildutil::read_gdbm($fulldbname, \%database_recs); 
    239  
     238    &dbutil::read_infodb_file($infodb_file_path, \%database_recs); 
    240239 
    241240    # dig out top level doc sections 
  • gsdl/trunk/perllib/dbutil.pm

    r15699 r15705  
    2929 
    3030 
     31sub read_infodb_file 
     32{ 
     33    my $infodb_file_path = shift(@_); 
     34    my $infodb_map = shift(@_); 
     35 
     36    &read_infodb_file_gdbm($infodb_file_path, $infodb_map); 
     37} 
     38 
     39 
    3140sub write_infodb_entry 
    3241{ 
     
    3645 
    3746    &write_infodb_entry_gdbm($infodb_handle, $infodb_key, $infodb_map); 
     47} 
     48 
     49 
     50 
     51# ---------------------------------------------------------------------------------------- 
     52#   GDBM FUNCTIONS 
     53# ---------------------------------------------------------------------------------------- 
     54 
     55sub read_infodb_file_gdbm 
     56{ 
     57    my $infodb_file_path = shift(@_); 
     58    my $infodb_map = shift(@_); 
     59 
     60    open (PIPEIN, "db2txt \"$infodb_file_path\" |") || die "couldn't open pipe from db2txt\n"; 
     61    my $infodb_line = ""; 
     62    my $infodb_key = ""; 
     63    my $infodb_value = ""; 
     64    while (defined ($infodb_line = <PIPEIN>)) 
     65    { 
     66    if ($infodb_line =~ /^\[([^\]]+)\]$/) 
     67    { 
     68        $infodb_key = $1; 
     69    } 
     70    elsif ($infodb_line =~ /^-{70}$/) 
     71    { 
     72        $infodb_map->{$infodb_key} = $infodb_value; 
     73        $infodb_key = ""; 
     74        $infodb_value = ""; 
     75    } 
     76    else 
     77    { 
     78        $infodb_value .= $infodb_line; 
     79    } 
     80    } 
     81 
     82    close (PIPEIN); 
    3883} 
    3984