# unusual return http code
if parsed_feed.status != 200:
- self.plugin.log.error(
+ self.plugin.log.warning(
'Got code %(status)d from "%(href)s" (please update).' %
parsed_feed)
return
body = '%(title)s %(link)s' % post
text.append(body)
- xpost = dict(**post)
- xpost['title'] = html_escape(xpost.get('title', 'n/a'))
- xbody = '<a href="%(link)s">%(title)s</a>' % xpost
+ xpost = {'title': html_escape(post.get('title', 'n/a'))}
+ xpost['link'] = html_escape(post.get('link',))
+ xbody = '<a href="{link}">{title}</a>'.format(**xpost)
xhtml.append(xbody)
# Updating self.seen
self.seen[feed_id] = entries
if len(text) > 1:
- self.plugin.send({'mbody':'<br />'.join(xhtml), 'mhtml':'\n'.join(text)})
+ self.plugin.send(self.plugin.bot.room,
+ {'mhtml':'<br />'.join(xhtml), 'mbody':'\n'.join(text)},
+ mtype='groupchat')
def run(self):
while not self.thread_killed:
self.th_mon.thread_killed = True
@botcmd
- def feeds(self, message, args):
+ def feeds(self, rcv, args):
"""feeds monitors debian project related feeds.
!feeds : registred feeds list
!feeds last : last check time"""
if 'last' in args:
- self.send('Last feeds check: %s' % self.th_mon.last_check)
+ self.reply(rcv, 'Last feeds check: %s' % self.th_mon.last_check)
return
- html = ['<a href="{0}">{1}</a>'.format(u, u[7:]) for u in Feeds.FEEDS]
+ html = ['<a href="{0}">{1}</a>'.format(html_escape(u),
+ html_escape(u[7:])
+ ) for u in Feeds.FEEDS]
msg = {
'mbody': 'Feeds:\n' + '\n'.join(Feeds.FEEDS),
- 'mhtml': 'Feeds:<br />' + '<br />'.join(html)
+ 'mhtml': 'Feeds:<br />' + '<br />'.join(html),
}
- self.send(msg)
+ self.reply(rcv, msg)