2011/10/23

Remedieのニコ動のembedを修正

とりあえず修正したものはgithubにあげてあります。

今月の途中からremedieでニコ動を見ようとすると、以下のポップアップが出てきて閲覧できなくなった。

This video is deleted or does not allow embeds

該当箇所のコードを確認すると、wv_titleの後にfv_autoplay、fv_new_windowを埋め込んでいる模様。
(恐らく)ニコ動側の変更でwv_titleが削除されていたので、wv_idを基準に埋め込むように修正

    diff --git a/lib/Remedie/Server/RPC/Player.pm b/lib/Remedie/Server/RPC/Player.pm
    index 14a959b..37ef936 100644
    --- a/lib/Remedie/Server/RPC/Player.pm
    +++ b/lib/Remedie/Server/RPC/Player.pm
    @@ -42,8 +42,10 @@ sub nicovideo : POST {
         ## Whoa HACK
         my $code = $response->content;
         $code =~ s/document\.write\((.*?)\)/\$("#embed-player").html($1)/g;
    -    $code =~ s/(wv_title.*?)$/$1\n, fv_autoplay: 1, fv_new_window: true/m
    -        or die "This video is deleted or does not allow embeds";
    +    $code =~ s/(wv_id.*?)$/$1\n, 'fv_autoplay': '1', 'fv_new_window': 'true'/m;
    +    if ( $code =~ /isDeleted: true/ ) {
    +        die "This video is deleted or does not allow embeds";
    +    }

         return { success => 1, code => $code };
    }

0 件のコメント:

コメントを投稿