linkcheck.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:wagtail-linkchecker 作者: takeflight 项目源码 文件源码
def handle(self, *args, **kwargs):
        site = Site.objects.filter(is_default_site=True).first()
        pages = site.root_page.get_descendants(inclusive=True).live().public()
        broken_links = broken_link_scan(site)

        messages = []
        for page in pages:
            revision = PageRevision.objects.filter(page=page).latest('created_at')
            page_broken_links = []
            for link in broken_links:
                if link.page == page:
                    page_broken_links.append(link)
            email_message = render_to_string(
                'wagtaillinkchecker/emails/broken_links.html', {
                    'page_broken_links': page_broken_links,
                    'user': revision.user,
                    'page': page,
                    'base_url': site.root_url,
                    'site_name': settings.WAGTAIL_SITE_NAME,
                    })
            email = EmailMessage(
                'Broken links on page "%s"' % (page.title),
                email_message,
                settings.DEFAULT_FROM_EMAIL,
                [revision.user.email])
            email.content_subtype = 'html'
            messages.append(email)

        connection = mail.get_connection()
        connection.open()
        connection.send_messages(messages)
        connection.close()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号