--- trunk/run.pl 2006/05/16 15:23:12 516 +++ trunk/run.pl 2006/05/22 19:34:45 529 @@ -121,13 +121,14 @@ my $total_rows = 0; my $start_t = time(); +my @links; +my $indexer; + while (my ($database, $db_config) = each %{ $config->{databases} }) { my ($only_database,$only_input) = split(m#/#, $only_filter) if ($only_filter); next if ($only_database && $database !~ m/$only_database/i); - my $indexer; - if ($use_indexer) { my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration"); $indexer_config->{database} = $database; @@ -202,11 +203,13 @@ my $lookup = new WebPAC::Lookup( lookup_file => $input->{lookup}, - ); + ) if ($input->{lookup}); my $input_module = $config->{webpac}->{inputs}->{$type}; - $log->info("working on input '$input->{name}' in $input->{path} [type: $input->{type}] using $input_module lookup '$input->{lookup}'"); + $log->info("working on input '$input->{name}' in $input->{path} [type: $input->{type}] using $input_module", + $input->{lookup} ? "lookup '$input->{lookup}'" : "" + ); my $input_db = new WebPAC::Input( module => $input_module, @@ -222,12 +225,13 @@ my $maxmfn = $input_db->open( path => $input->{path}, code_page => $input->{encoding}, # database encoding + %{ $input }, ); my $n = new WebPAC::Normalize::XML( # filter => { 'foo' => sub { shift } }, db => $db, - lookup_regex => $lookup->regex, + lookup_regex => $lookup ? $lookup->regex : undef, lookup => $lookup, prefix => $input->{name}, ); @@ -288,7 +292,7 @@ $ds = WebPAC::Normalize::Set::data_structure( row => $row, rules => $rules, - lookup => $lookup->lookup_hash, + lookup => $lookup ? $lookup->lookup_hash : undef, ); $db->save_ds( @@ -326,12 +330,12 @@ if (ref($db_config->{links}) eq 'ARRAY') { foreach my $link (@{ $db_config->{links} }) { if ($use_indexer eq 'hyperestraier') { - $log->info("adding link $database -> $link->{to} [$link->{credit}]"); - $indexer->add_link( + $log->info("saving link $database -> $link->{to} [$link->{credit}]"); + push @links, { from => $database, to => $link->{to}, credit => $link->{credit}, - ); + }; } else { $log->warn("NOT IMPLEMENTED WITH $use_indexer: adding link $database -> $link->{to} [$link->{credit}]"); } @@ -340,3 +344,7 @@ } +foreach my $link (@links) { + $log->info("adding link $link->{from} -> $link->{to} [$link->{credit}]"); + $indexer->add_link( %{ $link } ); +}