import argparse from pathlib import Path def replace_between_markers(content, marker: str, replacement: str) -> str: start_marker = f"\n\n" end_marker = f"\n\n\n" start_index = content.index(start_marker) + len(start_marker) end_index = content.index(end_marker) content = content[:start_index] + replacement + content[end_index:] return content def sync_readme(): ap = argparse.ArgumentParser() ap.add_argument("--check", action="store_true", default=False) args = ap.parse_args() readme_path = Path(__file__).parent.parent / "README.md" orig_content = readme_path.read_text() from TTS.bin.synthesize import description new_content = replace_between_markers(orig_content, "tts-readme", description.strip()) if args.check: if orig_content != new_content: print("README.md is out of sync; please edit TTS/bin/TTS_README.md and run scripts/sync_readme.py") exit(42) readme_path.write_text(new_content) print("Updated README.md") if __name__ == "__main__": sync_readme()