report.py 文件源码

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

项目:jesse-james 作者: zeroSteiner 项目源码 文件源码
def to_pdf_file(self, filename):
        results = self.sorted_results
        tally = lambda c, s: sum(1 for res in results if res['issue_confidence'] == c and res['issue_severity'] == s)
        summary_table = [[s] + [tally(c, s) for c in reversed(bandit.RANKING)] for s in reversed(bandit.RANKING)]
        summary_table = tabulate.tabulate(
            summary_table,
            headers=[''] + list(reversed(bandit.RANKING)),
            tablefmt='markdown'
        )
        ctr = collections.Counter()
        ctr.update(((res['test_id'], res['test_name'], res['issue_severity']) for res in results))
        findings_table = [(k[0], k[1], k[2], v) for k, v in ctr.items()]
        findings_table = sorted(findings_table, key=lambda k: k[3])
        findings_table = sorted(findings_table, key=lambda k: bandit.RANKING_VALUES[k[2]])
        findings_table = reversed(findings_table)
        findings_table = tabulate.tabulate(
            findings_table,
            headers=('ID', 'Finding Name', 'Severity', 'Occurrences'),
            tablefmt='markdown'
        )
        text = PDF_TEMPLATE.render(
            extra=self.data.get('_jj'),
            findings_table=findings_table,
            results=results,
            python_version=self.data.get('python_version'),
            summary_table=summary_table,
            timestamp=self.generated_at
        )
        pypandoc.convert_text(text, 'pdf', extra_args=['--latex-engine=xelatex'], format='markdown', outputfile=filename)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号