itunes2ppp
前の日記で使ったスクリプトを利用して、PyPodcastPlayer用podcast_list.txtを作成するスクリプト。
PyPodcastPlayerソースファイルに同梱。
まず、前の日記を参考に、iTunesから局情報ファイルを取り出す。
その全てのファイルを置いたフォルダで、スクリプトを実行する。
itunes2ppp.py
import sys import xml.dom.minidom import glob def readXmldata(data) : data_map = {} dom = xml.dom.minidom.parseString(data) dom_data = dom.getElementsByTagName("channel") item = dom_data.item(0) link_elm = item.getElementsByTagName("link").item(0) link = link_elm.getAttribute("href") data_map["link"] = link title_elm = item.getElementsByTagName("title").item(0) title = title_elm.firstChild.data data_map["title"] = title try : cat_elm = item.getElementsByTagName("category").item(0) cat = cat_elm.firstChild.data data_map["category"] = cat except : data_map["category"] = "" try : subtitle_elm = item.getElementsByTagName("subtitle").item(0) subtitle = subtitle_elm.firstChild.data data_map["subtitle"] = subtitle except : data_map["subtitle"] = "" return data_map def readFile(flist) : data_list = [] for i, v in enumerate(flist) : f = open(v) xmldata = f.read() xmlmap = readXmldata(xmldata) data_list.append(xmlmap) f.close() return data_list def makeList() : flist = glob.glob('*.pcast') return flist if __name__=='__main__' : file_list = makeList() data_list = readFile(file_list) listf = open("podcast_list.txt", "w") for i, v in enumerate(data_list) : line =v["link"] + "\n" listf.write(line) listf.close()
実行
> python itunes2ppp.py >
フォルダにpodcast_list.txtが作られているので、PyPodcastPlayer.pyと同じフォルダに置く。