/[webpac2]/trunk/run.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/run.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 613 by dpavlin, Wed Aug 23 11:04:32 2006 UTC revision 657 by dpavlin, Fri Sep 8 14:33:03 2006 UTC
# Line 8  use lib './lib'; Line 8  use lib './lib';
8    
9  use WebPAC::Common 0.02;  use WebPAC::Common 0.02;
10  use WebPAC::Lookup 0.03;  use WebPAC::Lookup 0.03;
11  use WebPAC::Input 0.10;  use WebPAC::Input 0.11;
12  use WebPAC::Store 0.03;  use WebPAC::Store 0.03;
13  use WebPAC::Normalize 0.11;  use WebPAC::Normalize 0.11;
14  use WebPAC::Output::TT;  use WebPAC::Output::TT;
15  use WebPAC::Validate;  use WebPAC::Validate 0.06;
16  use WebPAC::Output::MARC;  use WebPAC::Output::MARC;
17  use YAML qw/LoadFile/;  use YAML qw/LoadFile/;
18  use Getopt::Long;  use Getopt::Long;
# Line 60  path to YAML configuration file Line 60  path to YAML configuration file
60    
61  =item --stats  =item --stats
62    
63  disable indexing and dump statistics about field and subfield  disable indexing, modify_* in configuration and dump statistics about field
64  usage for each input  and subfield usage for each input
65    
66  =item --validate path/to/validation_file  =item --validate path/to/validation_file
67    
# Line 208  while (my ($database, $db_config) = each Line 208  while (my ($database, $db_config) = each
208    
209          my $indexer;          my $indexer;
210          if ($use_indexer) {          if ($use_indexer) {
211                  my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration");  
212                    my $cfg_name = $use_indexer;
213                    $cfg_name =~ s/\-.*$//;
214    
215                    my $indexer_config = $config->{$cfg_name} || $log->logdie("can't find '$cfg_name' part in confguration");
216                  $indexer_config->{database} = $database;                  $indexer_config->{database} = $database;
217                  $indexer_config->{clean} = $clean;                  $indexer_config->{clean} = $clean;
218                  $indexer_config->{label} = $db_config->{name};                  $indexer_config->{label} = $db_config->{name};
# Line 222  while (my ($database, $db_config) = each Line 226  while (my ($database, $db_config) = each
226                          use WebPAC::Output::Estraier '0.10';                          use WebPAC::Output::Estraier '0.10';
227                          $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );                          $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
228                                    
229                    } elsif ($use_indexer eq 'hyperestraier-native') {
230    
231                            # open Hyper Estraier database
232                            use WebPAC::Output::EstraierNative;
233                            $indexer = new WebPAC::Output::EstraierNative( %{ $indexer_config } );
234    
235                            $use_indexer = 'hyperestraier';
236    
237                  } elsif ($use_indexer eq 'kinosearch') {                  } elsif ($use_indexer eq 'kinosearch') {
238    
239                          # open KinoSearch                          # open KinoSearch
# Line 323  while (my ($database, $db_config) = each Line 335  while (my ($database, $db_config) = each
335                          $input->{lookup} ? "lookup '$input->{lookup}'" : ""                          $input->{lookup} ? "lookup '$input->{lookup}'" : ""
336                  );                  );
337    
338                    if ($stats) {
339                            # disable modification of records if --stats is in use
340                            delete($input->{modify_records});
341                            delete($input->{modify_file});
342                    }
343    
344                  my $input_db = new WebPAC::Input(                  my $input_db = new WebPAC::Input(
345                          module => $input_module,                          module => $input_module,
346                          encoding => $config->{webpac}->{webpac_encoding},                          encoding => $config->{webpac}->{webpac_encoding},
# Line 335  while (my ($database, $db_config) = each Line 353  while (my ($database, $db_config) = each
353                          recode => $input->{recode},                          recode => $input->{recode},
354                          stats => $stats,                          stats => $stats,
355                          modify_records => $input->{modify_records},                          modify_records => $input->{modify_records},
356                            modify_file => $input->{modify_file},
357                  );                  );
358                  $log->logdie("can't create input using $input_module") unless ($input);                  $log->logdie("can't create input using $input_module") unless ($input);
359    
# Line 387  while (my ($database, $db_config) = each Line 406  while (my ($database, $db_config) = each
406    
407    
408                                  if ($validate) {                                  if ($validate) {
409                                          my @errors = $validate->validate_errors( $row );                                          if ( my $errors = $validate->validate_errors( $row, $input_db->dump ) ) {
410                                          $log->error( "MFN $mfn validation errors:\n", join("\n", @errors) ) if (@errors);                                                  $log->error( "MFN $mfn validation error:\n",
411                                                            dump( $errors )
412                                                    );
413                                            }
414                                  }                                  }
415    
416                                  my $ds_config = dclone($db_config);                                  my $ds_config = dclone($db_config);
# Line 441  while (my ($database, $db_config) = each Line 463  while (my ($database, $db_config) = each
463                                  $total_rows++;                                  $total_rows++;
464                          }                          }
465    
466                            if ($validate && defined($validate->all_errors)) {
467                                    my $validate_errors = $validate->all_errors;
468    
469                                    $log->info("validation errors:\n", dump( $validate_errors ) );
470                            }
471    
472                          $log->info("statistics of fields usage:\n", $input_db->stats) if ($stats);                          $log->info("statistics of fields usage:\n", $input_db->stats) if ($stats);
473    
474                          # close MARC file                          # close MARC file

Legend:
Removed from v.613  
changed lines
  Added in v.657

  ViewVC Help
Powered by ViewVC 1.1.26