8 |
use Carp qw/verbose/; |
use Carp qw/verbose/; |
9 |
use Module::Pluggable search_path => 'Grep::Source', sub_name => 'sources', require => 1; |
use Module::Pluggable search_path => 'Grep::Source', sub_name => 'sources', require => 1; |
10 |
use base qw(Class::Accessor Jifty::Object); |
use base qw(Class::Accessor Jifty::Object); |
11 |
Grep::Source->mk_accessors( qw(feed uri q new_items collection) ); |
Grep::Source->mk_accessors( qw(feed uri q new_items collection search) ); |
12 |
|
|
13 |
use HTML::TreeBuilder; |
use HTML::TreeBuilder; |
14 |
use WWW::Mechanize; |
use WWW::Mechanize; |
112 |
$class->fetch( $parent ); |
$class->fetch( $parent ); |
113 |
undef $parent; |
undef $parent; |
114 |
|
|
|
Grep::Search->finish if $self->new_items; |
|
|
|
|
115 |
return $self->collection; |
return $self->collection; |
116 |
} |
} |
117 |
|
|
129 |
sub add_record { |
sub add_record { |
130 |
my $self = shift; |
my $self = shift; |
131 |
|
|
132 |
|
$self->search( Grep::Search->new() ) unless ($self->search); |
133 |
|
|
134 |
my $i = Grep::Model::Item->new(); |
my $i = Grep::Model::Item->new(); |
135 |
|
|
136 |
my $rec = {@_}; |
my $rec = {@_}; |
149 |
|
|
150 |
# is new record? |
# is new record? |
151 |
if ( $msg !~ m/^Found/ ) { |
if ( $msg !~ m/^Found/ ) { |
152 |
Grep::Search->add( $i ); |
$search->add( $i ); |
153 |
$self->new_items( ( $self->new_items || 0 ) + 1 ); |
$self->new_items( ( $self->new_items || 0 ) + 1 ); |
154 |
} |
} |
155 |
} else { |
} else { |