python: xslts : twitterのatomをhtmlに変換

フィルターを入れて日時変換してます。
import libxml2,libxslt
import sys,string,re
from time import *

ATOM="http://hdknr.com/extention"
TZ=9

def from_internet_datetime(datestring):
    m=re.match('^(.+)\+(.+)\:(.+)$',datestring)
    d = strptime(m.group(1),'%Y-%m-%dT%H:%M:%S')
    diff = int(m.group(2)) + TZ
    d2 = localtime( mktime(d) + diff * 60 * 60 )
    return d2


def  filter(ctx,str):
    print str
    try:
        pctxt = libxslt.xpathParserContext(_obj=ctx)
        ctxt = pctxt.context()
        tctxt = ctxt.transformContext()
        nodeName = tctxt.insertNode().name
#        print nodeName,str
    except:
        pass
    dt = from_internet_datetime(string.upper(str))
    return strftime("%Y/%m/%d %a %H:%M:%S",dt )

libxslt.registerExtModuleFunction("filter",ATOM, filter)


def  atom2html(url , template , html_file ):
        style=libxml2.parseFile(template)
        s = libxslt.parseStylesheetDoc(style)
        doc=libxml2.parseFile(url)
        result=s.applyStylesheet(doc,None)
        s.saveResultToFilename(html_file,result,0)
        s.freeStylesheet()
        doc.freeDoc()
        result.freeDoc()

if __name__ == '__main__':
    atom2html('http://twitter.com/statuses/user_timeline/16047826.atom', 'atom.xslt','gaien.html')
    atom2html('http://twitter.com/statuses/user_timeline/8015912.atom', 'atom.xslt','hdknr.htm')
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中