From: Dobrica Pavlinusic Date: Sun, 9 Jan 2011 14:56:38 +0000 (+0000) Subject: move loading of search module into BackupPC::Search X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=commitdiff_plain;h=d060aa5c2807ff541ac5c83eacfed101ed82c391;hp=c895c85bd282936cd38d900904bd94734fdc8248;ds=sidebyside move loading of search module into BackupPC::Search --- diff --git a/bin/BackupPC_updatedb b/bin/BackupPC_updatedb index 2290a19..9627a2b 100755 --- a/bin/BackupPC_updatedb +++ b/bin/BackupPC_updatedb @@ -15,18 +15,6 @@ use BackupPC::Search; use Cwd qw/abs_path/; use Data::Dump qw(dump); -our $search_module; -BEGIN { - $search_module = "BackupPC::Search::Estraier"; - $search_module = "BackupPC::Search::KinoSearch" if $ENV{KINO}; - eval "use $search_module"; - if ( $@ ) { - warn "ERROR: $search_module: $!"; - } else { - warn "# using $search_module for full-text search"; - } -} - use constant BPC_FTYPE_DIR => 5; use constant EST_CHUNK => 4096; @@ -131,7 +119,7 @@ sub hest_update { my $offset = 0; my $added = 0; - my $search = $search_module->new( $index_node_url ); + my $search = BackupPC::Search->search_module; my $results = 0; diff --git a/lib/BackupPC/Search.pm b/lib/BackupPC/Search.pm index 742f3f2..41f4e76 100644 --- a/lib/BackupPC/Search.pm +++ b/lib/BackupPC/Search.pm @@ -10,7 +10,7 @@ use vars qw(%In $MyURL); use Time::HiRes qw/time/; use XML::Writer; use IO::File; -use BackupPC::Search::Estraier; +use Data::Dump qw(dump); my $on_page = 100; my $pager_pages = 10; @@ -18,11 +18,26 @@ my $pager_pages = 10; my $dsn = $Conf{SearchDSN}; my $db_user = $Conf{SearchUser} || ''; -my $hest_node_url = $Conf{HyperEstraierIndex}; +our $search_module; -my $dbh; +sub search_module { + + $search_module = "BackupPC::Search::Estraier"; + $search_module = "BackupPC::Search::KinoSearch" if $ENV{KINO}; + eval "use $search_module"; + if ( $@ ) { + warn "ERROR: $search_module: $!"; + } else { + warn "# using $search_module for full-text search"; + } + my $bpc = BackupPC::Lib->new || die; + my %Conf = $bpc->Conf(); + return $search_module->new( %Conf ); +} + +my $dbh; sub get_dbh { $dbh ||= DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } ); @@ -262,7 +277,7 @@ sub getFilesHyperEstraier($) { my $shareid = $param->{'search_share'}; my ($backup_from, $backup_to, $files_from, $files_to) = dates_from_form($param); - return BackupPC::Search::Estraier->new( $hest_node_url )->search( + return search_module->search( $offset, $on_page, $param->{sort}, $q, $shareid, $backup_from, $backup_to, $files_from, $files_to ); diff --git a/lib/BackupPC/Search/Estraier.pm b/lib/BackupPC/Search/Estraier.pm index a9f9cae..afbaaad 100644 --- a/lib/BackupPC/Search/Estraier.pm +++ b/lib/BackupPC/Search/Estraier.pm @@ -3,11 +3,15 @@ use warnings; use strict; use Search::Estraier 0.04; +use Data::Dump qw(dump); my $debug = $ENV{DEBUG} || 0; sub new { - my ( $class, $index_node_url ) = @_; + my $class = shift @_; + my %Conf = @_; + + my $index_node_url = $Conf{HyperEstraierIndex} || die "no HyperEstraierIndex in config ",dump(%Conf); warn "# using $index_node_url";