/[Search-Estraier]/trunk/Estraier.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/Estraier.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 60 by dpavlin, Sat Jan 7 00:00:15 2006 UTC revision 65 by dpavlin, Sat Jan 7 23:48:16 2006 UTC
# Line 4  use 5.008; Line 4  use 5.008;
4  use strict;  use strict;
5  use warnings;  use warnings;
6    
7  our $VERSION = '0.01';  our $VERSION = '0.02';
8    
9  =head1 NAME  =head1 NAME
10    
# Line 525  sub new { Line 525  sub new {
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  }  }
# Line 701  use URI::Escape qw/uri_escape/; Line 699  use URI::Escape qw/uri_escape/;
699    
700    my $node = new Search::HyperEstraier::Node;    my $node = new Search::HyperEstraier::Node;
701    
702    or optionally with C<url> as parametar
703    
704      my $node = new Search::HyperEstraier::Node( 'http://localhost:1978/node/test' );
705    
706  =cut  =cut
707    
708  sub new {  sub new {
# Line 718  sub new { Line 720  sub new {
720          };          };
721          bless($self, $class);          bless($self, $class);
722    
723          my $args = {@_};          if ($#_ == 0) {
724                    $self->{url} = shift;
725            } else {
726                    my $args = {@_};
727    
728          $self->{debug} = $args->{debug};                  $self->{debug} = $args->{debug};
729          warn "## Node debug on\n" if ($self->{debug});                  warn "## Node debug on\n" if ($self->{debug});
730            }
731    
732          $self ? return $self : return undef;          $self ? return $self : return undef;
733  }  }
# Line 1177  sub search { Line 1183  sub search {
1183    
1184          my $rv = $self->shuttle_url( $self->{url} . '/search',          my $rv = $self->shuttle_url( $self->{url} . '/search',
1185                  'application/x-www-form-urlencoded',                  'application/x-www-form-urlencoded',
1186                  $self->cond_to_query( $cond ),                  $self->cond_to_query( $cond, $depth ),
1187                  \$resbody,                  \$resbody,
1188          );          );
1189          return if ($rv != 200);          return if ($rv != 200);
# Line 1271  sub search { Line 1277  sub search {
1277    
1278  Return URI encoded string generated from Search::Estraier::Condition  Return URI encoded string generated from Search::Estraier::Condition
1279    
1280    my $args = $node->cond_to_query( $cond );    my $args = $node->cond_to_query( $cond, $depth );
1281    
1282  =cut  =cut
1283    
# Line 1280  sub cond_to_query { Line 1286  sub cond_to_query {
1286    
1287          my $cond = shift || return;          my $cond = shift || return;
1288          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'));
1289            my $depth = shift;
1290    
1291          my @args;          my @args;
1292    
# Line 1289  sub cond_to_query { Line 1296  sub cond_to_query {
1296    
1297          if (my @attrs = $cond->attrs) {          if (my @attrs = $cond->attrs) {
1298                  for my $i ( 0 .. $#attrs ) {                  for my $i ( 0 .. $#attrs ) {
1299                          push @args,'attr' . ($i+1) . '=' . uri_escape( $attrs[$i] );                          push @args,'attr' . ($i+1) . '=' . uri_escape( $attrs[$i] ) if ($attrs[$i]);
1300                  }                  }
1301          }          }
1302    
# Line 1307  sub cond_to_query { Line 1314  sub cond_to_query {
1314                  push @args, 'options=' . $options;                  push @args, 'options=' . $options;
1315          }          }
1316    
1317          push @args, 'depth=' . $self->{depth} if ($self->{depth});          push @args, 'depth=' . $depth if ($depth);
1318          push @args, 'wwidth=' . $self->{wwidth};          push @args, 'wwidth=' . $self->{wwidth};
1319          push @args, 'hwidth=' . $self->{hwidth};          push @args, 'hwidth=' . $self->{hwidth};
1320          push @args, 'awidth=' . $self->{awidth};          push @args, 'awidth=' . $self->{awidth};

Legend:
Removed from v.60  
changed lines
  Added in v.65

  ViewVC Help
Powered by ViewVC 1.1.26