from get_version import get_version
import json
import os
import sys
SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
REPO_DIR = os.path.realpath(os.path.join(SCRIPT_DIR, "../.."))
sys.path.append(f"{SCRIPT_DIR}/..")
from util import error
def get_changelog_body():
manifest_path = os.path.join(REPO_DIR, "CHANGELOG.md")
with open(manifest_path, "r") as f:
content = f.read()
version = get_version()
version_line = f"## [{version}]"
version_split= content.split(version_line)
if len(version_split) < 2:
error("version changelog section found")
if len(version_split) > 2:
error("multiple version changelog sections found")
title_suffix_with_body_split = version_split[1].split("## [", 1)
body_split = title_suffix_with_body_split[0].split("\n", 1)
if len(body_split) == 1:
error("invalid changelog format")
stripped_body = body_split[1].strip()
return json.dumps(stripped_body)
if __name__ == "__main__":
print(get_changelog_body())