User:Shizhao/otdcode

#!/usr/bin/python
# -*- coding: utf-8  -*-

import os, sys
import wikipedia, query, datetime

mysite = wikipedia.getSite()

otdtext=u'{{Wikipedia:历史上的今天/%s%s日}}'% (datetime.datetime.utcnow().month, datetime.datetime.utcnow().day)
datetitle=u'%s%s日' % (datetime.datetime.utcnow().month, datetime.datetime.utcnow().day)
rsstitle=u'Template:Otd/rss'
rsspage=wikipedia.Page(mysite,rsstitle)

#获取html内容
params = {
    'action'    :'parse',
    'text'      :otdtext,
    }    
text = query.GetData(params, encodeTitle = False)[u'parse'][u'text'][u'*']

href=u'{{subst:fullurl:%s}}' % datetitle

#格式化rss
wikitext=u'<title>历史上的今天:%s</title>\n<link>%s</link>\n<guid>%s</guid>\n<description>%s</description>\n<pubDate>{{subst:#time:r}}</pubDate>\n<dc:creator>中文维基百科编者</dc:creator></item>\n' %(datetitle, href, href, text)

rsstext=rsspage.get()
r=rsstext.split(u'<item>')


if len(r)<6:
    r.insert(1, wikitext) 
    s = u'<item>'.join(r)

else:
    
    r.insert(1, wikitext) 
    r.pop()

    s = u'<item>'.join(r)
    s=s+u'\n</channel>\n</rss>'
    

rsspage.put(s, u'bot: 历史上的今天rss更新:[[%s]]' % datetitle)
wikipedia.stopme()