classics.

2009/07/05 Sunflickr

Last.fm の loved tracks を mt-daapd のプレイリストに変換するやつを書いた

初めて比較的ちゃんをRuby書いたけど、とりあえずうごくくらいにはなりました。

なんで作ったかというと、先日の Windows のデスクトップ機 OS 再インストール時にレート付きのプレイリストのデータを消してしまったので、またやり直すのめんどいなーと思ってやりました。あとデスクトップ機と Ubuntu サーバ機両方に mp3 突っ込んであるのでプレイリストの同期とか面倒くさかったので。

それで今朝思いついて久しぶりに Python で書いていたのですが、何回やっても BeautifulSoup が Last.fm のページのパースに失敗するので、勉強も兼ねて Ruby で書いてみました。それで Ubuntu サーバで動かなかったりとかを直したり gem が重いのを待ってたりしてたら一日が終わりました。

対象は、Last.fm を使っていてちょくちょく love のボタン押す人で、同じ曲のライブラリで(ファイルの path は違ってもいけるはず) mt-daapd サーバを立てていて Ruby とか rubygems とか nokogiri とか sqlite3-ruby とかが使える人です。

使い方は、最初の user とか apikey (すぐ取れるので取得してください) とか プレイリストの path とか DB ファイルの path を環境に合うように書き換えて(パーミッションも変える必要あるかも)、上のスクリプトを last.rb として保存したとすると

# ruby last.rb all

ってすると loved tracks 全部がプレイリストになるはずなので、そのあとは crontab に

0 */3 * * * ruby /home/oquno/scripts/last.rb new > /dev/null 2&>1

とか書いとくと3時間おきとかに更新されるんじゃないかと思います。

Trackbacks

Comments

Comment form