use HyperEstraier;
use Text::Iconv;
use Data::Dumper;
-use LWP::Simple;
+use LWP;
use URI::Escape;
=head1 NAME
=head1 VERSION
-Version 0.02
+Version 0.03
=cut
-our $VERSION = '0.02';
+our $VERSION = '0.03';
=head1 SYNOPSIS
my $log = $self->_get_logger;
- $log->debug("self: ", sub { Dumper($self) });
+ #$log->debug("self: ", sub { Dumper($self) });
foreach my $p (qw/masterurl user passwd database/) {
$log->logdie("need $p") unless ($self->{$p});
$log->info("opening Hyper Estraier index $self->{url}");
- my @nodes = $self->est_master( action => 'nodelist' );
+ my $nodes = $self->est_master( action => 'nodelist' );
- if (! grep(/$self->{database}/, @nodes)) {
+ $log->debug("nodes found: $nodes");
+
+ if ($nodes !~ m/^$self->{database}\t/sm) {
$log->info("creating index $url");
$self->est_master(
action => 'nodeadd',
$log->debug("calling $url");
- my $tsv = get($url);
+ if (! $self->{_master_ua}) {
+ $self->{_master_ua} = LWP::UserAgent->new( ) || $log->logdie("can't create LWP::UserAgent: $!");
+ $self->{_master_ua}->credentials('localhost:1978','Super User', $self->{user} => $self->{passwd});
+ }
+
+ my $res = $self->{_master_ua}->get($url);
- if (! $tsv) {
- $log->warn("unable to call $url");
+ if ($res->is_success) {
+ #$log->debug( $res->content );
+ return split(/\n/, $res->content) if wantarray;
+ return $res->content;
+ } else {
+ $log->warn("unable to call $url: " . $res->status_line);
+ #$log->debug(Dumper($res, $self->{'_master_ua'}));
return;
}
- return split(/\n/, $tsv);
}
=head1 AUTHOR