7 |
|
|
8 |
use Search::Estraier 0.06; |
use Search::Estraier 0.06; |
9 |
use Encode qw/from_to/; |
use Encode qw/from_to/; |
10 |
use Data::Dumper; |
use Data::Dump qw/dump/; |
11 |
use LWP; |
use LWP; |
12 |
use URI::Escape; |
use URI::Escape; |
13 |
use List::Util qw/first/; |
use List::Util qw/first/; |
18 |
|
|
19 |
=head1 VERSION |
=head1 VERSION |
20 |
|
|
21 |
Version 0.11 |
Version 0.12 |
22 |
|
|
23 |
=cut |
=cut |
24 |
|
|
25 |
our $VERSION = '0.11'; |
our $VERSION = '0.12'; |
26 |
|
|
27 |
=head1 SYNOPSIS |
=head1 SYNOPSIS |
28 |
|
|
88 |
|
|
89 |
my $log = $self->_get_logger; |
my $log = $self->_get_logger; |
90 |
|
|
91 |
#$log->debug("self: ", sub { Dumper($self) }); |
#$log->debug("self: ", sub { dump($self) }); |
92 |
|
|
93 |
foreach my $p (qw/masterurl user passwd database/) { |
foreach my $p (qw/masterurl user passwd database/) { |
94 |
$log->logdie("need $p") unless ($self->{$p}); |
$log->logdie("need $p") unless ($self->{$p}); |
99 |
my $url = $self->{masterurl} . '/node/' . $self->{database}; |
my $url = $self->{masterurl} . '/node/' . $self->{database}; |
100 |
$self->{url} = $url; |
$self->{url} = $url; |
101 |
|
|
102 |
|
$self->{label} ||= "WebPAC $self->{database}"; |
103 |
|
|
104 |
$self->{db} = Search::Estraier::Node->new( |
$self->{db} = Search::Estraier::Node->new( |
105 |
url => $url, |
url => $url, |
106 |
user => $self->{user}, |
user => $self->{user}, |
107 |
passwd => $self->{passwd}, |
passwd => $self->{passwd}, |
108 |
debug => $self->{debug}, |
debug => $self->{debug}, |
109 |
create => 1, |
create => 1, |
110 |
label => "WebPAC $self->{database}", |
label => $self->convert( $self->{label} ), |
111 |
); |
); |
112 |
|
|
113 |
$log->info("using index $self->{url} with encoding $self->{encoding}"); |
$log->info("using ", $self->{clean} ? "new " : "", "index $self->{url} '$self->{label}' with encoding $self->{encoding}"); |
114 |
|
|
115 |
if ($self->{clean}) { |
if ($self->{clean}) { |
116 |
$log->debug("clean $self->{database}"); |
$log->debug("clean $self->{database}"); |
166 |
my $doc = Search::Estraier::Document->new; |
my $doc = Search::Estraier::Document->new; |
167 |
$doc->add_attr('@uri', $self->convert($uri) ); |
$doc->add_attr('@uri', $self->convert($uri) ); |
168 |
|
|
169 |
$log->debug("ds = ", sub { Dumper($args->{'ds'}) } ); |
$log->debug("ds = ", sub { dump($args->{'ds'}) } ); |
170 |
|
|
171 |
# filter all tags which have type defined |
# filter all tags which have type defined |
172 |
my @tags = grep { |
my @tags = grep { |
219 |
my $args = {@_}; |
my $args = {@_}; |
220 |
my $log = $self->_get_logger; |
my $log = $self->_get_logger; |
221 |
|
|
222 |
|
foreach my $p (qw/from to credit/) { |
223 |
|
$log->logdie("need $p") unless ($args->{$p}); |
224 |
|
} |
225 |
|
|
226 |
my $node = first { $_->{name} eq $args->{to} } $self->master( action => 'nodelist' ); |
my $node = first { $_->{name} eq $args->{to} } $self->master( action => 'nodelist' ); |
227 |
|
|
228 |
if (! $node) { |
if (! $node) { |