525 |
my $self = {@_}; |
my $self = {@_}; |
526 |
bless($self, $class); |
bless($self, $class); |
527 |
|
|
528 |
foreach my $f (qw/uri attrs snippet keywords/) { |
croak "missing uri for ResultDocument" unless defined($self->{uri}); |
|
croak "missing $f for ResultDocument" unless defined($self->{$f}); |
|
|
} |
|
529 |
|
|
530 |
$self ? return $self : return undef; |
$self ? return $self : return undef; |
531 |
} |
} |
1175 |
|
|
1176 |
my $rv = $self->shuttle_url( $self->{url} . '/search', |
my $rv = $self->shuttle_url( $self->{url} . '/search', |
1177 |
'application/x-www-form-urlencoded', |
'application/x-www-form-urlencoded', |
1178 |
$self->cond_to_query( $cond ), |
$self->cond_to_query( $cond, $depth ), |
1179 |
\$resbody, |
\$resbody, |
1180 |
); |
); |
1181 |
return if ($rv != 200); |
return if ($rv != 200); |
1269 |
|
|
1270 |
Return URI encoded string generated from Search::Estraier::Condition |
Return URI encoded string generated from Search::Estraier::Condition |
1271 |
|
|
1272 |
my $args = $node->cond_to_query( $cond ); |
my $args = $node->cond_to_query( $cond, $depth ); |
1273 |
|
|
1274 |
=cut |
=cut |
1275 |
|
|
1278 |
|
|
1279 |
my $cond = shift || return; |
my $cond = shift || return; |
1280 |
croak "condition must be Search::Estraier::Condition, not '$cond->isa'" unless ($cond->isa('Search::Estraier::Condition')); |
croak "condition must be Search::Estraier::Condition, not '$cond->isa'" unless ($cond->isa('Search::Estraier::Condition')); |
1281 |
|
my $depth = shift; |
1282 |
|
|
1283 |
my @args; |
my @args; |
1284 |
|
|
1288 |
|
|
1289 |
if (my @attrs = $cond->attrs) { |
if (my @attrs = $cond->attrs) { |
1290 |
for my $i ( 0 .. $#attrs ) { |
for my $i ( 0 .. $#attrs ) { |
1291 |
push @args,'attr' . ($i+1) . '=' . uri_escape( $attrs[$i] ); |
push @args,'attr' . ($i+1) . '=' . uri_escape( $attrs[$i] ) if ($attrs[$i]); |
1292 |
} |
} |
1293 |
} |
} |
1294 |
|
|
1306 |
push @args, 'options=' . $options; |
push @args, 'options=' . $options; |
1307 |
} |
} |
1308 |
|
|
1309 |
push @args, 'depth=' . $self->{depth} if ($self->{depth}); |
push @args, 'depth=' . $depth if ($depth); |
1310 |
push @args, 'wwidth=' . $self->{wwidth}; |
push @args, 'wwidth=' . $self->{wwidth}; |
1311 |
push @args, 'hwidth=' . $self->{hwidth}; |
push @args, 'hwidth=' . $self->{hwidth}; |
1312 |
push @args, 'awidth=' . $self->{awidth}; |
push @args, 'awidth=' . $self->{awidth}; |