Changeset 749
- Timestamp:
- 05/15/06 21:22:09
- Files:
-
- trunk/plagger/lib/Plagger/Enclosure.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Plugin/Filter/FindEnclosures.pm (added)
- trunk/plagger/lib/Plagger/Plugin/Filter/HEADEnclosureMetadata.pm (added)
- trunk/plagger/lib/Plagger/Plugin/Filter/RewriteEnclosureURL.pm (modified) (1 diff)
- trunk/plagger/lib/Plagger/Plugin/Publish/Feed.pm (modified) (1 diff)
- trunk/plagger/lib/Plagger/Util.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Enclosure.pm
r748 r749 3 3 4 4 use base qw( Class::Accessor::Fast ); 5 __PACKAGE__->mk_accessors(qw( length type local_path ));5 __PACKAGE__->mk_accessors(qw( length type local_path is_inline )); 6 6 7 use Plagger::Util; 7 8 use URI; 8 9 … … 22 23 } 23 24 24 require MIME::Types; 25 26 # no type is set in XML ... set via URL extension 27 my $ext = ( $self->url->path =~ /\.(\w+)/ )[0]; 28 my $mime = MIME::Types->new->mimeTypeOf($ext) or return; 29 30 $self->type($mime->type); 25 # set MIME type via URL extension 26 my $mime = Plagger::Util::mime_type_of($self->url); 27 $self->type($mime->type) if $mime; 31 28 } 32 29 trunk/plagger/lib/Plagger/Plugin/Filter/RewriteEnclosureURL.pm
r731 r749 25 25 my $local_path = $enclosure->local_path; 26 26 unless ($local_path) { 27 $context->log( error=> "\$enclosure->local_path is not set. You need to load Filter::FetchEnclosure to use this plugin.");27 $context->log(warn => "\$enclosure->local_path is not set. You need to load Filter::FetchEnclosure to use this plugin."); 28 28 return; 29 29 } trunk/plagger/lib/Plagger/Plugin/Publish/Feed.pm
r747 r749 62 62 # RSS 2.0 by spec doesn't allow multiple enclosures 63 63 my @enclosures = $feed_format eq 'RSS' ? ($e->enclosures->[0]) : $e->enclosures; 64 for my $enclosure (grep defined $_->url,@enclosures) {64 for my $enclosure (grep { defined $_->url && !$_->is_inline } @enclosures) { 65 65 $entry->add_enclosure({ 66 66 url => $enclosure->url, trunk/plagger/lib/Plagger/Util.pm
r683 r749 2 2 use strict; 3 3 our @ISA = qw(Exporter); 4 our @EXPORT_OK = qw( strip_html dumbnail decode_content extract_title load_uri );4 our @EXPORT_OK = qw( strip_html dumbnail decode_content extract_title load_uri mime_type_of ); 5 5 6 6 use Encode (); 7 7 use List::Util qw(min); 8 8 use HTML::Entities; 9 use MIME::Types; 10 use MIME::Type; 9 11 10 12 our $Detector; … … 129 131 } 130 132 133 sub mime_type_of { 134 my $ext = shift; 135 136 if (UNIVERSAL::isa($ext, 'URI')) { 137 $ext = ( $ext->path =~ /\.(\w+)/ )[0]; 138 } 139 140 my $mimetypes = MIME::Types->new; 141 $mimetypes->addType( MIME::Type->new(type => 'video/flv', extensions => [ 'flv' ]) ); 142 $mimetypes->addType( MIME::Type->new(type => 'audio/aac', extensions => [ 'm4a', '.aac' ]) ); 143 144 return $mimetypes->mimeTypeOf($ext); 145 } 146 131 147 1;
