Janeのお気に入りからChalice用栞に変換
Janeのお気に入りファイル(favorites.dat)からChalice用栞ファイルに変換するPythonスクリプト。
スクリプトと同じフォルダにJaneのお気に入りファイル(favorites.dat)を置いて実行。
生成されるchalice_new.bmkというファイルが、Chalice用栞ファイル。
import sys import xml.dom.minidom plat_cod = sys.getfilesystemencoding() jane_fav = 'favorites.dat' cha_fav = 'chalice_new.bmk' if __name__=='__main__' : favdata = '<?xml version="1.0" encoding="UTF-8" ?>\n' +\ unicode(open(jane_fav).read(), plat_cod).encode('utf-8') favxml = xml.dom.minidom.parseString(favdata) item = favxml.getElementsByTagName('item') fav_c = open(cha_fav, 'w') board_n = '' for item_e in item: name = item_e.getAttribute('name') board = item_e.getAttribute('board') host = item_e.getAttribute('host') bbs = item_e.getAttribute('bbs') datname = item_e.getAttribute('datname') if board != board_n: board_n = board line = '■' + unicode(board).encode(plat_cod) + '\n' line += ' [板] ' + unicode(board).encode(plat_cod) + '\t' * 7 +\ unicode('http://%s/%s/' % (host, bbs)).encode(plat_cod) fav_c.write(line + '\n') name = ' ' + name url = 'http://%s/test/read.cgi/%s/%s/' % (host, bbs, datname) line = unicode(name + '\t' * 4 + url).encode(plat_cod) fav_c.write(line + '\n') fav_c.close()
favorites.dat例
(略) <folder name="PC等[Linux]" expanded="false"> <item name="[Wireless] Linuxで無線LAN [IEEE802.11] -r3" category="PC等" board="Linux" host="pc8.2ch.net" bbs="linux" datname="1132504137"/> <item name="MozillaとGeckoファミリー Part6" category="PC等" board="Linux" host="pc8.2ch.net" bbs="linux" datname="1134648442"/> <item name="Vine Linux Thread 其の37" category="PC等" board="Linux" host="pc8.2ch.net" bbs="linux" datname="1135250731"/> <item name="KNOPPIX 12" category="PC等" board="Linux" host="pc8.2ch.net" bbs="linux" datname="1135377715"/> </folder> <folder name="PC等[プログラム]" expanded="false"> <item name="推薦図書/必読書のためのスレッド PART28" category="PC等" board="プログラム" host="pc8.2ch.net" bbs="tech" datname="1133629787"/> <item name="Rubyについて Part 18" category="PC等" board="プログラム" host="pc8.2ch.net" bbs="tech" datname="1133988248"/> <item name="Perlについての質問箱 21箱目" category="PC等" board="プログラム" host="pc8.2ch.net" bbs="tech" datname="1134327348"/> <item name="「コンパイラ・スクリプトエンジン」相談室9" category="PC等" board="プログラム" host="pc8.2ch.net" bbs="tech" datname="1135082582"/> (略)
(略) ■Linux [板] Linux http://pc8.2ch.net/linux/ [Wireless] Linuxで無線LAN [IEEE802.11] -r3 http://pc8.2ch.net/test/read.cgi/linux/1132504137/ MozillaとGeckoファミリー Part6 http://pc8.2ch.net/test/read.cgi/linux/1134648442/ Vine Linux Thread 其の37 http://pc8.2ch.net/test/read.cgi/linux/1135250731/ KNOPPIX 12 http://pc8.2ch.net/test/read.cgi/linux/1135377715/ ■プログラム [板] プログラム http://pc8.2ch.net/tech/ 推薦図書/必読書のためのスレッド PART28 http://pc8.2ch.net/test/read.cgi/tech/1133629787/ Rubyについて Part 18 http://pc8.2ch.net/test/read.cgi/tech/1133988248/ Perlについての質問箱 21箱目 http://pc8.2ch.net/test/read.cgi/tech/1134327348/ 「コンパイラ・スクリプトエンジン」相談室9 http://pc8.2ch.net/test/read.cgi/tech/1135082582/ (略)
板別にカテゴリィを作成。カテゴリィ毎の一番上の栞は、板のリンク。
ログ移行はややこしそうだなあ。