/[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 636 by dpavlin, Wed Sep 6 19:25:22 2006 UTC revision 671 by dpavlin, Mon Sep 11 15:59:35 2006 UTC
# Line 12  use WebPAC::Input 0.11; Line 12  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 335  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 357  while (my ($database, $db_config) = each Line 363  while (my ($database, $db_config) = each
363                          %{ $input },                          %{ $input },
364                  );                  );
365    
366                    my $report_fh;
367                    if ($stats || $validate) {
368                            my $path = "out/report/" . $database . '-' . $input->{name} . '.txt';
369                            open($report_fh, '>', $path) || $log->logdie("can't open $path: $!");
370    
371                            print $report_fh "Report for database '$database' input '$input->{name}' records ",
372                                    $offset || 1, "-", $limit || $input->{limit} || $maxmfn, "\n\n";
373                            $log->info("Generating report file $path");
374                    }
375    
376                  my @norm_array = ref($input->{normalize}) eq 'ARRAY' ?                  my @norm_array = ref($input->{normalize}) eq 'ARRAY' ?
377                          @{ $input->{normalize} } : ( $input->{normalize} );                          @{ $input->{normalize} } : ( $input->{normalize} );
378    
# Line 400  while (my ($database, $db_config) = each Line 416  while (my ($database, $db_config) = each
416    
417    
418                                  if ($validate) {                                  if ($validate) {
419                                          my @errors = $validate->validate_errors( $row );                                          if ( my $errors = $validate->validate_errors( $row, $input_db->dump ) ) {
420                                          $log->error( "MFN $mfn validation errors:\n", join("\n", @errors) ) if (@errors);                                                  $log->error( "MFN $mfn validation error:\n",
421                                                            $validate->report_error( $errors )
422                                                    );
423                                            }
424                                  }                                  }
425    
426                                  my $ds_config = dclone($db_config);                                  my $ds_config = dclone($db_config);
# Line 454  while (my ($database, $db_config) = each Line 473  while (my ($database, $db_config) = each
473                                  $total_rows++;                                  $total_rows++;
474                          }                          }
475    
476                          $log->info("statistics of fields usage:\n", $input_db->stats) if ($stats);                          if ($validate) {
477                                    my $errors = $validate->report;
478                                    if ($errors) {
479                                            $log->info("validation errors:\n$errors\n" );
480                                            print $report_fh "$errors\n" if ($report_fh);
481                                    }
482                            }
483    
484                            if ($stats) {
485                                    my $s = $input_db->stats;
486                                    $log->info("statistics of fields usage:\n$s");
487                                    print $report_fh "Statistics of fields usage:\n$s" if ($report_fh);
488                            }
489    
490                          # close MARC file                          # close MARC file
491                          $marc->finish if ($marc);                          $marc->finish if ($marc);
492    
493                            # close report
494                            close($report_fh) || $log->logdie("can't close report: $!");
495                  }                  }
496    
497          }          }

Legend:
Removed from v.636  
changed lines
  Added in v.671

  ViewVC Help
Powered by ViewVC 1.1.26