import datetime
import os
import pathlib
+import sys
import textwrap
import typing
import urllib.parse
CURRENT_VK_VERSION = '1.1'
TEMPLATE = Template(textwrap.dedent("""\
+ <%!
+ import html
+ %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<ul>
%for f in features:
- <li>${f}</li>
+ <li>${html.escape(f)}</li>
%endfor
</ul>
<ul>
%for b in bugs:
- <li>${b}</li>
+ <li>${html.escape(b)}</li>
%endfor
</ul>
<ul>
%for c, author in changes:
%if author:
- <p>${c}</p>
+ <p>${html.escape(c)}</p>
%else:
- <li>${c}</li>
+ <li>${html.escape(c)}</li>
%endif
%endfor
</ul>
return '.'.join(base)
-def get_features() -> typing.Generator[str, None, None]:
+def get_features(is_point_release: bool) -> typing.Generator[str, None, None]:
p = pathlib.Path(__file__).parent.parent / 'docs' / 'relnotes' / 'new_features.txt'
if p.exists():
+ if is_point_release:
+ print("WARNING: new features being introduced in a point release", file=sys.stderr)
with p.open('rt') as f:
for line in f:
yield line
+ else:
+ yield "None"
async def main() -> None:
bugfix=is_point_release,
bugs=bugs,
changes=walk_shortlog(shortlog),
- features=get_features(),
+ features=get_features(is_point_release),
gl_version=CURRENT_GL_VERSION,
next_version=next_version,
today=datetime.date.today(),