disable indexing if --stats option is used, added delimiter line to begin of
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 15 May 2006 17:23:38 +0000 (17:23 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 15 May 2006 17:23:38 +0000 (17:23 +0000)
output to log

git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@509 07558da8-63fa-0310-ba24-9fe276d99e06

run.pl

diff --git a/run.pl b/run.pl
index b41212e..b8b0f52 100755 (executable)
--- a/run.pl
+++ b/run.pl
@@ -57,7 +57,8 @@ C<.xml> to C<.pl>
 
 =item --stats
 
-dump statistics about used fields and subfields in each input
+disable indexing and dump statistics about field and subfield
+usage for each input
 
 =back
 
@@ -92,9 +93,15 @@ print "config = ",Dumper($config) if ($debug);
 die "no databases in config file!\n" unless ($config->{databases});
 
 my $log = _new WebPAC::Common()->_get_logger();
+$log->info( "-" x 79 );
 
 my $use_indexer = $config->{use_indexer} || 'hyperestraier';
-$log->info("using $use_indexer indexing engine...");
+if ($stats) {
+       $log->debug("option --stats disables update of indexing engine...");
+       $use_indexer = undef;
+} else {
+       $log->info("using $use_indexer indexing engine...");
+}
 
 my $total_rows = 0;
 my $start_t = time();
@@ -105,29 +112,32 @@ while (my ($database, $db_config) = each %{ $config->{databases} }) {
 
        my $indexer;
 
-       my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration");
-       $indexer_config->{database} = $database;
-       $indexer_config->{clean} = $clean;
-       $indexer_config->{label} = $db_config->{name};
+       if ($use_indexer) {
+               my $indexer_config = $config->{$use_indexer} || $log->logdie("can't find '$use_indexer' part in confguration");
+               $indexer_config->{database} = $database;
+               $indexer_config->{clean} = $clean;
+               $indexer_config->{label} = $db_config->{name};
 
-       if ($use_indexer eq 'hyperestraier') {
+               if ($use_indexer eq 'hyperestraier') {
 
-               # open Hyper Estraier database
-               use WebPAC::Output::Estraier '0.10';
-               $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
-       
-       } elsif ($use_indexer eq 'kinosearch') {
+                       # open Hyper Estraier database
+                       use WebPAC::Output::Estraier '0.10';
+                       $indexer = new WebPAC::Output::Estraier( %{ $indexer_config } );
+               
+               } elsif ($use_indexer eq 'kinosearch') {
 
-               # open KinoSearch
-               use WebPAC::Output::KinoSearch;
-               $indexer_config->{clean} = 1 unless (-e $indexer_config->{index_path});
-               $indexer = new WebPAC::Output::KinoSearch( %{ $indexer_config } );
+                       # open KinoSearch
+                       use WebPAC::Output::KinoSearch;
+                       $indexer_config->{clean} = 1 unless (-e $indexer_config->{index_path});
+                       $indexer = new WebPAC::Output::KinoSearch( %{ $indexer_config } );
 
-       } else {
-               $log->logdie("unknown use_indexer: $use_indexer");
+               } else {
+                       $log->logdie("unknown use_indexer: $use_indexer");
+               }
+
+               $log->logide("can't continue without valid indexer") unless ($indexer);
        }
 
-       $log->logide("can't continue without valid indexer") unless ($indexer);
 
        #
        # now WebPAC::Store
@@ -261,14 +271,14 @@ while (my ($database, $db_config) = each %{ $config->{databases} }) {
                                        id => $mfn,
                                        ds => $ds,
                                        prefix => $input->{name},
-                               ) if ($ds);
+                               ) if ($ds && !$stats);
                        }
 
                        $indexer->add(
                                id => $input->{name} . "/" . $mfn,
                                ds => $ds,
                                type => $config->{$use_indexer}->{type},
-                       );
+                       ) if ($indexer);
 
                        $total_rows++;
                }
@@ -277,7 +287,7 @@ while (my ($database, $db_config) = each %{ $config->{databases} }) {
 
        };
 
-       eval { $indexer->finish } if ($indexer->can('finish'));
+       eval { $indexer->finish } if ($indexer && $indexer->can('finish'));
 
        my $dt = time() - $start_t;
        $log->info("$total_rows records indexed in " .