/[Grep]/lib/Grep/Source.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 /lib/Grep/Source.pm

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

revision 123 by dpavlin, Sat Apr 28 17:55:37 2007 UTC revision 130 by dpavlin, Sun Apr 29 12:07:06 2007 UTC
# Line 203  sub element_by_triplet { Line 203  sub element_by_triplet {
203          my $tree = $args->{tree} || die "no tree";          my $tree = $args->{tree} || die "no tree";
204          my $message = $args->{message} || '';          my $message = $args->{message} || '';
205          my $fatal = $args->{fatal};          my $fatal = $args->{fatal};
206          die "no templates" unless defined( $args->{templates} );          die "no triplets" unless defined( $args->{triplets} );
207          my @templates;          my @triplets;
208          if ( ref( $args->{template} ) eq 'ARRAY' ) {          if ( ref( $args->{triplets} ) eq 'ARRAY' ) {
209                  @templates = @{ $args->{templates} };                  @triplets = @{ $args->{triplets} };
210          } else {          } else {
211                  @templates = ( $args->{templates} );                  @triplets = ( $args->{triplets} );
212          }          }
213    
214          push @templates, ( undef, undef ) if ( $#templates == 0 );          push @triplets, ( undef, undef ) if ( $#triplets == 0 );
215    
216          die "wrapper doesn't have 3 elements but ", $#templates unless (          die "wrapper doesn't have 3 elements but ", $#triplets unless (
217                  ( $#templates + 1 ) % 3 == 0                  ( $#triplets + 1 ) % 3 == 0
218          );          );
219    
220          my ( $el, $attr, $value );          my ( $el, $attr, $value );
# Line 222  sub element_by_triplet { Line 222  sub element_by_triplet {
222          my @results;          my @results;
223          my @tags;          my @tags;
224    
225          while ( @templates ) {          while ( @triplets ) {
226                  ( $el,$attr,$value ) = splice( @templates, 0, 3 );                  ( $el,$attr,$value ) = splice( @triplets, 0, 3 );
227                  my $tag = $attr ? "<$el $attr=\"$value\">" : "<$el>";                  my $tag = $attr ? "<$el $attr=\"$value\">" : "<$el>";
228                  push @tags, $tag;                  push @tags, $tag;
229                  $self->log->debug("looking for $message $tag");                  $self->log->debug("looking for $message $tag");
# Line 286  sub scrape { Line 286  sub scrape {
286    
287          my $div = $self->element_by_triplet(          my $div = $self->element_by_triplet(
288                  tree => $tree,                  tree => $tree,
289                  templates => $args->{wrapper},                  triplets => $args->{wrapper},
290                  message => 'wrapper for all results',                  message => 'wrapper for all results',
291                  fatal => 1                  fatal => 1
292          );          );
# Line 299  sub scrape { Line 299  sub scrape {
299    
300          my @r = $self->element_by_triplet(          my @r = $self->element_by_triplet(
301                  tree => $tree,                  tree => $tree,
302                  templates => $args->{results},                  triplets => $args->{results},
303                  message => 'result element',                  message => 'result element',
304          );          );
305    
# Line 322  sub scrape { Line 322  sub scrape {
322                                  $div = $self->element_by_triplet(                                  $div = $self->element_by_triplet(
323                                          tree => $page_tree,                                          tree => $page_tree,
324                                          message => "result $nr",                                          message => "result $nr",
325                                          templates => $args->{scrape}                                          triplets => $args->{scrape}
326                                  );                                  );
327    
328                                  $self->add_record(                                  $self->add_record(

Legend:
Removed from v.123  
changed lines
  Added in v.130

  ViewVC Help
Powered by ViewVC 1.1.26