def fetch(self):
if self.category == 'release':
url = 'https://github.com/%s/releases.atom' % self.repo
elif self.category == 'tag':
url = 'https://github.com/%s/tags.atom' % self.repo
elif self.category == 'commit':
url = 'https://github.com/%s/commits/%s.atom' % \
(self.repo, self.branch or 'master')
else:
raise ValueError('unknown category: %s' % self.category)
fetch_time = int(time.time())
feed = feedparser.parse(url, etag=self.status.last_result)
last_updated = self.status.updated
self.status = ChoreStatus(fetch_time, feed.get('etag'))
for e in feed.entries:
evt_time = calendar.timegm(e.updated_parsed)
if last_updated and evt_time > last_updated:
yield Event(self.name, self.category,
evt_time, e.title, e.summary, e.link)
评论列表
文章目录