Changeset 375
- Timestamp:
- 03/09/06 06:38:15
- Files:
-
- trunk/plagger/Makefile.PL (modified) (1 diff)
- trunk/plagger/lib/Plagger/Plugin/Filter/BulkfeedsTerms.pm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/Makefile.PL
r363 r375 106 106 'Filter::BulkfeedsTerms' => [ 107 107 -default => 0, 108 recommends('XML:: Simple'),108 recommends('XML::LibXML'), 109 109 ], 110 110 'Publish::HatenaBookmark' => [ trunk/plagger/lib/Plagger/Plugin/Filter/BulkfeedsTerms.pm
r215 r375 5 5 use Encode; 6 6 use Plagger::UserAgent; 7 use XML:: Simple;7 use XML::LibXML; 8 8 use URI; 9 9 … … 35 35 } 36 36 37 my @terms = grep !ref, @{ XMLin($res->content)->{term}};37 my @terms = eval { $self->parse_terms($res->content) }; 38 38 $context->log(info => "Terms for " . $args->{entry}->link . ": " . join(", ", @terms)); 39 39 … … 41 41 $args->{entry}->add_tag($term); 42 42 } 43 } 44 45 sub parse_terms { 46 my($self, $xml) = @_; 47 my $doc = XML::LibXML->new->parse_string($xml); 48 49 my @terms; 50 for my $node ( $doc->findnodes('/terms/term')->get_nodelist ) { 51 my $term = $node->textContent; 52 push @terms, $term if defined $term && $term ne ''; 53 } 54 55 return @terms; 43 56 } 44 57
