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

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

revision 7 by dpavlin, Sat Feb 17 21:22:17 2007 UTC revision 19 by dpavlin, Sun Feb 18 12:51:26 2007 UTC
# Line 65  sub take_action { Line 65  sub take_action {
65    
66          my $uri = $feed->uri;          my $uri = $feed->uri;
67          if ($uri =~ m/%s/) {          if ($uri =~ m/%s/) {
68                  $uri = sprintf( $uri, $self->argument_value('q') );                  $uri = $feed->search_uri( $self->argument_value('q') );
69                  Jifty->log->info("Searching ", $feed->title, " at $uri");                  Jifty->log->info("Searching ", $feed->title, " at $uri");
70          } else {          } else {
71                  Jifty->log->info("Fetching ", $feed->title, " at $uri");                  Jifty->log->info("Fetching ", $feed->title, " at $uri");
72          }          }
73    
74          my $xml_feed = XML::Feed->parse( URI->new($uri) )          my $xml_feed = XML::Feed->parse( URI->new($uri) )
75                  or die XML::Feed->errstr;                  or die $feed->title, " returned ", XML::Feed->errstr, " for $uri\n";
76    
77          warn "fetching ", $xml_feed->title, "\n";          warn "fetching ", $xml_feed->title, "\n";
78    
79          my @results;          my @items;
80    
81          for my $entry ($xml_feed->entries) {          for my $entry ($xml_feed->entries) {
82                  my $i = Grep::Model::Item->new();                  my $i = Grep::Model::Item->new();
# Line 95  sub take_action { Line 95  sub take_action {
95    
96                  die "can't create item from entry ", dump( $entry ) unless ( $i->id );                  die "can't create item from entry ", dump( $entry ) unless ( $i->id );
97    
98                  push @results, $i->id;                  push @items, $i;
99    
100                  Jifty->log->debug("item ", $i->id, " = ",dump( $entry ) );  #               Grep::Event::Result->new( $i )->publish;
101    
102                    Jifty->log->debug("published ", $i->id ) ; # dump( $entry, $i ) );
103          }          }
104    
105          if ( @results ) {          if ( @items ) {
106    
107                  $self->result->message( $self->argument_value('q') . ' => ' .                  $self->result->message( $self->argument_value('q') . ' => ' .
108                          $xml_feed->entries . ' items: ' . join(",", @results)                          $xml_feed->entries . ' items: ' . join(",", map { $_->id } @items)
109                  );                  );
110    
111                  $self->result->content( results => \@results );                  $self->result->content( items => \@items );
112                  return 1;                  return 1;
113    
114          } else {          } else {
115    
116                  $self->result->message( 'No results for ' . $self->argument_value('q') );                  $self->result->message( 'No results found' );
117    
118                    # with default sticky_on_failure, this will keep form data
119                    $self->result->failure( 1 );
120    
121                  return 0;                  return 0;
122          }          }
123  }  }

Legend:
Removed from v.7  
changed lines
  Added in v.19

  ViewVC Help
Powered by ViewVC 1.1.26