Skip to content
Snippets Groups Projects
StatsMailer.py 515 B
Newer Older
Anton Gusev's avatar
Anton Gusev committed
from scrapy.mail import MailSender
from scrapy.conf import settings


class StatsMailer(object):
    name = 'StatsMailer'

    def close_spider(self, spider):
        mailer = MailSender.from_settings(settings)
        to = [settings.get('MAIL_FROM')]
        subject = 'Parser name:{} finished'.format(spider.name)
        body = subject + ':\n\n'
        body += '\n'.join(['{}: {}'.format(k, v) for k, v in spider.crawler.stats.get_stats().items()])
        return mailer.send(to=to, subject=subject, body=body)