pypa-hatch/scripts/utils.py

29 lines
825 B
Python

import re
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent
def get_latest_release(project):
history_file = ROOT / 'docs' / 'history' / f'{project}.md'
release_headers = 0
history_file_lines = []
with history_file.open(encoding='utf-8') as f:
for line in f:
history_file_lines.append(line.rstrip())
if line.startswith('## '):
release_headers += 1
if release_headers == 3: # noqa: PLR2004
break
release_lines = history_file_lines[history_file_lines.index('## Unreleased') + 1 : -1]
while True:
release_header = release_lines.pop(0)
if release_header.startswith('## '):
break
return re.search(r'\[(.+)\]', release_header).group(1), '\n'.join(release_lines).strip()