def fetch(self):
fetch_time = int(time.time())
feed = feedparser.parse(self.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 = int(calendar.timegm(e.updated_parsed))
if last_updated and evt_time > last_updated:
evturl = e.link
match = RE_BADURL.match(evturl)
if match:
evturl = urllib.parse.urljoin(self.url, match.group(1))
else:
evturl = urllib.parse.urljoin(self.url, evturl)
if not self.title_regex or self.title_regex.search(e.title):
yield Event(self.name, self.category,
evt_time, e.title, e.summary, evturl)
评论列表
文章目录