Changeset 1592
- Timestamp:
- 08/24/06 21:09:53
- Files:
-
- trunk/plagger/lib/Plagger/Plugin.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Plugin/Filter/StripRSSAd.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Plugin.pm
r1591 r1592 13 13 use File::Find::Rule (); 14 14 use File::Spec; 15 use Scalar::Util qw(blessed); 15 16 16 17 sub new { … … 149 150 my($self, $rule, $callback) = @_; 150 151 151 unless ( ref($rule)) {152 unless (blessed($rule) && $rule->isa('File::Find::Rule')) { 152 153 $rule = File::Find::Rule->name($rule); 153 154 } trunk/plagger/lib/Plagger/Plugin/Filter/StripRSSAd.pm
r1588 r1592 9 9 $self->SUPER::init(@_); 10 10 Plagger->context->autoload_plugin('Filter::BloglinesContentNormalize'); 11 $self->load_patterns();12 }13 11 14 sub load_patterns { 15 my $self = shift; 16 17 my $dir = $self->assets_dir; 18 my $dh = DirHandle->new($dir) or Plagger->context->error("$dir: $!"); 19 for my $file (grep -f $_->[0] && $_->[1] =~ /^[\w\-\.]+$/, 20 map [ File::Spec->catfile($dir, $_), $_ ], sort $dh->read) { 21 $self->load_pattern(@$file); 22 } 23 } 24 25 sub load_pattern { 26 my($self, $file, $base) = @_; 27 28 Plagger->context->log(debug => "loading $file"); 29 30 if ($file =~ /\.yaml$/) { 31 $self->load_yaml($file, $base); 32 } else { 33 $self->load_regexp($file, $base); 34 } 12 $self->load_assets('*.yaml', sub { $self->load_yaml(@_) }); 13 $self->load_assets(qr/^[\w\-]+$/, sub { $self->load_regexp(@_)}); 35 14 } 36 15 37 16 sub load_regexp { 38 17 my($self, $file, $base) = @_; 18 Plagger->context->log(debug => "Load regexp $file"); 39 19 40 20 open my $fh, '<', $file or Plagger->context->error("$file: $!"); … … 47 27 sub load_yaml { 48 28 my($self, $file, $base) = @_; 29 Plagger->context->log(debug => "Load YAML $file"); 49 30 50 31 my $pattern = eval { YAML::LoadFile($file) }
