2009年9月21日月曜日

Windows Media Player Playlistからリストを抽出

wplとして保存されたプレイリストを、編集したいような気がしたので作成(Ruby)。
かなり手抜きなので、タグ毎に正しく改行されていないとうまく動かない…かもしれない。


class WPLReader
def initialize(wplfile)
@file = wplfile
@head_meta = Hash.new
@head_data = Hash.new
@file_list = Array.new
end

def read
open(@file, "r") do |read|
while line = read.gets
read_head(read) if line =~ /<head>/i
read_body(read) if line =~ /<body>/i
end
end
end

def read_head(file)
while line = file.gets
@head_meta[$1] = $2 if line =~ /<meta name="(.*)" content="(.*)">/i
@head_data[$1] = $2 if line =~ /<(.*?)>(.*?)<\/\1>/i
break if line =~ /<\/head>/i
end
end

def read_body(file)
while line = file.gets
@file_list << $1 if line =~ /<media src="(.+)">/
break if line =~ /<\/body>/i
end
end

attr_reader :head_meta, :head_data, :file_list
end


このクラスを利用し、wplをm3uに変換するツールを作成。
文字コードの修正は行わないので、用途に合わせて修正してやる必要があるかも。

https://sites.google.com/a/g.hachune.net/mtmef/home/download/wpl-m3uConverter.zip?attredirects=0


…べっ、別にBlogのネタが切れたわけじゃないんだからね(´・ω・`)

0 件のコメント: