INNER CODE UNIT · Python
replace_managed_block
Teycir/BurpAPISecuritySuite · scripts/sync_readme_updates.py:86
def replace_managed_block(readme_text: str, rendered_block: str) -> str:
marker_re = re.compile(
re.escape(START_MARKER) + r".*?" + re.escape(END_MARKER),
flags=re.DOTALL,
)
if marker_re.search(readme_text):
return marker_re.sub(rendered_block.rstrip("\n"), readme_text, count=1)
anchor = "### Recent Updates"
anchor_idx = readme_text.find(anchor)
if anchor_idx < 0:
raise ValueError("Could not find '### Recent Updates' heading in README.")
insert_at = anchor_idx + len(anchor)
return readme_text[:insert_at] + "\n\n" + rendered_block + readme_text[insert_at:]
def sync_readme(changelog_path: Path, readme_path: Path, releases_count: int) -> int: