Changeset 55
- Timestamp:
- 02/08/06 19:50:45
- Files:
-
- trunk/plagger/lib/Plagger/Rule/FeedType.pm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Rule/FeedType.pm
r53 r55 3 3 use base qw( Plagger::Rule ); 4 4 5 use Plagger::Operator; 5 6 6 7 sub init { … … 9 10 if (my $type = $self->{type}) { 10 11 $type = [ $type ] if ref($type) ne 'ARRAY'; 11 $self->{type} = +{ map {$_ => 1} @{ $type } };12 $self->{type} = $type; 12 13 } else { 13 14 Plagger->context->error("Can't parse type"); 15 } 16 17 $self->{op} ||= 'OR'; 18 unless (Plagger::Operator->is_valid_op($self->{op})) { 19 Plagger->context->error("Unsupported operator $self->{op}"); 14 20 } 15 21 } … … 23 29 or Plagger->context->error("No feed object in this plugin phase"); 24 30 25 my $bool = $self->{type}->{$feed->type}; 26 $bool = !$bool if $self->{negative}; 27 $bool; 31 my @bool; 32 for my $want (@{$self->{type}}) { 33 push @bool, ($feed->type eq $want); 34 } 35 36 Plagger::Operator->call($self->{op}, @bool); 28 37 } 29 38
