mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
parent
1b49fd0e42
commit
ded9e7d5b1
5 changed files with 291 additions and 2 deletions
32
scripts/parse-changelog.py
Normal file
32
scripts/parse-changelog.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env python3
|
||||
from pathlib import Path
|
||||
from argparse import ArgumentParser
|
||||
|
||||
|
||||
def parse_latest_changelog(text: str) -> str:
|
||||
"""Read the contents between the first `##` and the second `##`"""
|
||||
recording = False
|
||||
contents: list[str] = []
|
||||
for line in text.splitlines():
|
||||
if line.strip().startswith("## ") and recording is False:
|
||||
recording = True
|
||||
elif line.strip().startswith("## ") and recording is True:
|
||||
break
|
||||
if recording:
|
||||
contents.append(line)
|
||||
|
||||
return "\n".join(contents[1:])
|
||||
|
||||
|
||||
def get_changelog() -> str:
|
||||
parser = ArgumentParser(description="Get the latest change log from CHANG_LOGS.md")
|
||||
parser.add_argument("changelog_file", help="The path of CHANGE_LOGS.md")
|
||||
args = parser.parse_args()
|
||||
with Path(args.changelog_file).open() as f:
|
||||
return f.read()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
changelog = get_changelog()
|
||||
latest_changelog = parse_latest_changelog(changelog)
|
||||
print(latest_changelog)
|
||||
Loading…
Add table
Add a link
Reference in a new issue