ishiducaの日記 このページをアンテナに追加 RSSフィード

2010-10-11

[Mac::Growl]Mac::Growlの文字化け 13:13 [Mac::Growl]Mac::Growlの文字化け - ishiducaの日記 を含むブックマーク はてなブックマーク - [Mac::Growl]Mac::Growlの文字化け - ishiducaの日記 [Mac::Growl]Mac::Growlの文字化け - ishiducaの日記 のブックマークコメント

cpanmで $HOME にMac::Growlインストール」の後放置していたんだけど。

結局 Encode::from_to を使った

Encode::from_to($_, 'MacRoman', 'utf8');

YouTubeからダウンロードしていて、終了時にGrowl通知するときに使う場合になんか便利ですよね。

youtube2m4v.pl

#!/usr/bin/env perl
use strict;
use warnings;
use Encode;
use Path::Class;
use WWW::YouTube::Download;
use Mac::Growl ':all';

@ARGV == 1 or die "Usage: $0 uri\n";

my $vid = $ARGV[0];
$vid =~ s|http://www.youtube.com/watch\?v=([^&]+)|$1|;

my $client = WWW::YouTube::Download->new;
my $title = $client->get_title( $vid );
my $file_name = "${title}.m4v";
$file_name =~ s|/|_|g;

my $file = Path::Class::File->new(
    "$ENV{HOME}/Movies", $file_name);

warn qq(Now Download "$file_name"\n);

# iPhone用にmp4形式にする
$client->download($vid, {
    file_name => $file->absolute,
    fmt       => 18, });

my $app_name = "MyPerlApp";
my $allNotif = [ qw/ alert note info / ];
my $defNotif = [ qw/ info / ];

RegisterNotifications($app_name, $allNotif, $defNotif);
Encode::from_to($file_name, 'MacRoman', 'utf8');

PostNotification(
    $app_name, 'info', 'Finish !!', $file_name, 1 ,-2,);

exit 0;

ダウンロードが終わるとこんな感じで通知される。

f:id:ishiduca:20101011130819p:image

AuthAuth2012/08/20 07:09I'm imrpseesd. You've really raised the bar with that.

vttktdbtwvttktdbtw2012/08/20 19:00cnaSAH <a href="http://rjhrgbuzxtjz.com/">rjhrgbuzxtjz</a>

bhqbiefhdtbhqbiefhdt2012/08/22 15:05MkPK76 <a href="http://ncqufdridiww.com/">ncqufdridiww</a>

nfyelkrwnfyelkrw2012/08/24 21:55BzE66X , [url=http://axyeuhvttzvo.com/]axyeuhvttzvo[/url], [link=http://brqpvqfuvsgd.com/]brqpvqfuvsgd[/link], http://osmeuotwuadd.com/

トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20101011