39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
|
|
from datetime import datetime
|
|
|
|
def generateHtmlReport(data):
|
|
today = datetime.now().isoformat()[0:10].replace("-", "_")
|
|
html = "<!doctype html>" \
|
|
"<html>" \
|
|
"<head>" \
|
|
"</head>" \
|
|
"<body>" \
|
|
f"<h1>Reports of {today}</h1>"
|
|
|
|
body = str()
|
|
for project in data['projects']:
|
|
body += f"<h2>{project['name']}</h2>"
|
|
|
|
# For python
|
|
body += f"<h3>Python</h3>"
|
|
for py in project['python']:
|
|
body += f"<h4>{py['file']}</h4>"
|
|
for vul in py['vulnerabilities']:
|
|
body += f"<h5>{vul['name']}</h5>"
|
|
body += f"<p>"
|
|
body += f"Results:<br />"
|
|
for result in vul['results']:
|
|
body += f"Line: {result['lineNumber']}<br />"
|
|
body += f"Line: {result['line']}<br />"
|
|
body += f"Level: {result['level']}<br />"
|
|
body += f"Description: {result['description']}<br /><br />"
|
|
body += f"</p>"
|
|
|
|
html += body
|
|
#print(body)
|
|
html += "</body></html>"
|
|
with open(f"reports/reports_{today}.html", "w") as f:
|
|
f.write(html)
|
|
|