2008-03-07
_ Plagger::Plugin::Filter::FetchNicoVideo でニコニコ動画(SP1) 対応(2)
H.264動画対応に加えてニコニコムービーメーカで作成されたものにも対応させておく.
Index: FetchNicoVideo.pm
===================================================================
--- FetchNicoVideo.pm (revision 7618)
+++ FetchNicoVideo.pm (working copy)
@@ -73,8 +73,16 @@
if ( $self->conf->{filename_encode} ) {
Encode::from_to( $filename, "utf-8", $self->conf->{filename_encode} );
}
- my $path = File::Spec->catfile( $self->conf->{dir}, $filename . ".flv" );
+ $enclosure->url =~ m!^http://[^/]+(?:smilevideo|nicovideo)\.jp/smile\?(\w)=(?:[^.]+)\.\d+(?:low)?!;
+ my %video_type_of = (
+ v => 'flv',
+ m => 'mp4',
+ s => 'swf',
+ );
+ my $ext = exists( $video_type_of{$1} ) ? $video_type_of{$1} : "unknown";
+
+ my $path = File::Spec->catfile( $self->conf->{dir}, $filename . ".$ext" );
unless ( -e $path ) {
#access video page
$ua->get("http://www.nicovideo.jp/watch/$video_id");
@@ -112,6 +120,7 @@
if ($res->header('Content-Length') ) {
$enclosure->length( $res->header('Content-Length') );
}
+ $enclosure->type( Plagger::Util::mime_type_of($path) );
$entry->add_enclosure($enclosure);
}