2008年11月19日水曜日

elementtree

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

[nori@housyou]/usr/lib64/python2.4/site-packages% ls cElementTree.so
cElementTree.so
[nori@housyou]/usr/lib64/python2.4/site-packages% ls /usr/lib/python2.4/site-packages/elementtree
ElementInclude.py HTMLTreeBuilder.pyo SimpleXMLWriter.pyc
ElementInclude.pyc __init__.py SimpleXMLWriter.pyo
ElementInclude.pyo __init__.pyc TidyHTMLTreeBuilder.py
ElementPath.py __init__.pyo TidyHTMLTreeBuilder.pyc
ElementPath.pyc SgmlopXMLTreeBuilder.py TidyHTMLTreeBuilder.pyo
ElementPath.pyo SgmlopXMLTreeBuilder.pyc TidyTools.py
ElementTree.py SgmlopXMLTreeBuilder.pyo TidyTools.pyc
ElementTree.pyc SimpleXMLTreeBuilder.py TidyTools.pyo
ElementTree.pyo SimpleXMLTreeBuilder.pyc XMLTreeBuilder.py
HTMLTreeBuilder.py SimpleXMLTreeBuilder.pyo XMLTreeBuilder.pyc
HTMLTreeBuilder.pyc SimpleXMLWriter.py XMLTreeBuilder.pyo


結局、これを実現しなきゃいけないのよね~。
repositoryが別々なのを1つにマージしちゃおうかなぁ~~。履歴が消えてしまうのがイタイのですが。いや、branchの名前をうまく操作してあげれば、何とかなるかも。
mergedなrepositoryを掘るためにpurepythonとcimplとかいうbranchの名前にして
空のrepositoryにそれぞれをpush。空のrepository上でmasterにmerge。あとはdoctestなやつをunittest化してnosetestを使うようにするか。

pythonをupgradeしてもelementtreeのversionが1.3以降にならないのはイタイ。

python2.6のxml.etreeはこうなっている。

[nori@housyou]/usr/local/repos/git/public/python-mirror/python-2.6/Lib/xml/etree% ls
cElementTree.py ElementPath.py __init__.py
ElementInclude.py ElementTree.py


そしてcElementTree.pyの中身は

# Wrapper module for _elementtree

from _elementtree import *

である。だからbuildすると同じ場所に_elementtreeができるはず。.cはModules下にある。
.cな中身はこれで全部なのかはちょっと不明。手持ちのcelementtreeのファイルと中身を比較すればはっきりしますね。まあ明日以降ですな。

[nori@housyou]/usr/local/repos/git/public/python-mirror/python-2.6/Modules% ls _elementtree.c
_elementtree.c

0 件のコメント: