1
0
Fork 0
mirror of https://github.com/Findus23/new-github-changelog-generator.git synced 2024-08-27 19:52:18 +02:00
new-github-changelog-generator/generator/formatters/html.py
2019-02-03 18:26:13 +01:00

33 lines
1.2 KiB
Python

import html
from generator.formatters import BaseFormatter
class HTMLFormatter(BaseFormatter):
def __str__(self) -> str:
text = "<div>\n"
for repo in self.repos:
if repo.issues:
if len(self.repos) > 1:
text += "<h3><a href='{}'>{}</a></h3>\n".format(repo.absolute_url, repo.path)
text += "<ul>\n"
for issue in repo.issues:
text += "\t<li><a href='{url}'>#{id}</a> {title}".format(
url=issue.url,
id=issue.number,
title=html.escape(issue.title)
)
if issue.authors:
text += " [by {}]".format(
", ".join(
"<a href='{url}'>@{name}</a>".format(
url=author.profile_url,
name=html.escape(author.username)
) for author in issue.authors
)
)
text += "</li>\n"
text += "</ul>"
text += "</div>"
return text