41 lines
942 B
Python
Executable File
41 lines
942 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
"""
|
|
Generates a more user-readable changelog from changelog.yaml.
|
|
"""
|
|
|
|
import textwrap
|
|
import yaml
|
|
|
|
with open("changelog.yaml", "r") as f:
|
|
data = yaml.safe_load(f)
|
|
|
|
print("Changelog")
|
|
print("---------")
|
|
print()
|
|
print("<!-- Do not edit. This file is automatically generated from changelog.yaml.-->")
|
|
print()
|
|
|
|
for version in data.keys():
|
|
date = data[version]["date"]
|
|
changes = data[version]["changes"]
|
|
print(f"**{version} ({date})**")
|
|
print()
|
|
|
|
if "description" in data[version]:
|
|
description = data[version]["description"].strip()
|
|
for line in textwrap.wrap(description, 80):
|
|
print(line)
|
|
print()
|
|
|
|
for c in changes:
|
|
lines = textwrap.wrap(c, 78)
|
|
initial = True
|
|
for line in lines:
|
|
if initial:
|
|
print("* " + line)
|
|
initial = False
|
|
else:
|
|
print(" " + line)
|
|
print()
|