RSS 内のパーマリンクによるダイジェスト

コメントが付くだけで RSS の最終更新日時が変動するのはどうかと思います. 記事単位での変動で更新を検出するために、ダイジェスト関数を作りました.

def rss_sum(s):
    from xml.dom import pulldom
    from hashlib import md5
    acc = []
    p = pulldom.parseString(s)
    for (e, n) in p:
        if (e == pulldom.START_ELEMENT) and (n.tagName == 'item'):
            p.expandNode(n)
            l = n.getElementsByTagName('link')
            acc.append(l[0].firstChild.data)
    return md5('\0'.join(acc)).hexdigest()

pulldom って UTF-8 じゃない XML に対応してないのか. 涙目.