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

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

revision 30 by dpavlin, Mon Feb 19 20:07:48 2007 UTC revision 149 by dpavlin, Sat Jun 9 09:15:41 2007 UTC
# Line 8  Grep::Action::Search Line 8  Grep::Action::Search
8  =cut  =cut
9    
10  package Grep::Action::Search;  package Grep::Action::Search;
11  use base qw/Grep::Action::SearchItem/;  
12    use Grep::Search;
13    
14  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
15  use Time::HiRes qw/time/;  use Time::HiRes qw/time/;
16    
17    use Jifty::Param::Schema;
18    use Jifty::Action schema {
19    
20            param q =>
21                    type is 'text',
22                    label is 'Search for',
23                    hint is 'enter few words to search for';
24    
25            param item_fragment =>
26                    label is 'Display format',
27                    render as 'select',
28                    available are qw/long short title/;
29    
30            param max =>
31                    label is 'Number or results',
32                    render as 'select',
33                    available are qw/10 20 50 100/;
34                    default is '20';
35    
36    };
37    
38  =head2 take_action  =head2 take_action
39    
40  =cut  =cut
# Line 20  use Time::HiRes qw/time/; Line 42  use Time::HiRes qw/time/;
42  sub take_action {  sub take_action {
43      my $self = shift;      my $self = shift;
44    
45          my $q = $self->argument_value('content_contains') || warn "can't find content_contains";          my $q = $self->argument_value('q');
46    
47          $self->SUPER::take_action( @_ );          return $self->result->error("Need search query") unless ($q);
48    
49          my $coll = $self->result->content('search');          my $search = Grep::Search->new();
50    
51          Jifty->log->error('result not collection but ', dump( $coll ))          $self->log->debug("action is searching for $q");
                 unless ( $coll->isa('Jifty::Collection') );  
52    
53          my $results = $coll->count;          my $coll = $search->collection( $q ) ||
54                    return $self->result->error("No results");
55    
56          if ($results > 0) {          $self->log->fatal('result not collection but ', dump( $coll ))
57          $self->result->message( "Found $results results" );                  if ( !$coll || !$coll->isa('Jifty::Collection') );
58    
59            my $hits = $search->hits;
60    
61            if ($hits > 0) {
62            $self->result->message( "Found $hits results for '$q'" );
63          } else {          } else {
64                  $self->result->error('No local results found, wait for remote results to arrive...');                  $self->result->error('No local results, try remote feeds...');
65          }          }
66    
67            $self->result->content( search => $coll );
68    
69          return $coll;          return $coll;
70  }  }
71    

Legend:
Removed from v.30  
changed lines
  Added in v.149

  ViewVC Help
Powered by ViewVC 1.1.26