(changes: str, source_version_control: str)
| 18 | |
| 19 | |
| 20 | def main(changes: str, source_version_control: str) -> None: |
| 21 | changes_html = commonmark.commonmark(changes) |
| 22 | changes_soup = BeautifulSoup(changes_html, "html.parser") |
| 23 | headers = changes_soup.find_all("h2") |
| 24 | latest_tag, *_ = [ |
| 25 | header.string for header in headers if header.string != "Unreleased" |
| 26 | ] |
| 27 | |
| 28 | source_version_control_html = commonmark.commonmark(source_version_control) |
| 29 | source_version_control_soup = BeautifulSoup( |
| 30 | source_version_control_html, "html.parser" |
| 31 | ) |
| 32 | pre_commit_repos = yaml.safe_load( |
| 33 | source_version_control_soup.find(class_="language-yaml").string |
| 34 | )["repos"] |
| 35 | |
| 36 | for repo in pre_commit_repos: |
| 37 | pre_commit_rev = repo["rev"] |
| 38 | if not pre_commit_rev == latest_tag: |
| 39 | print( |
| 40 | "Please set the rev in ``source_version_control.md`` to be the latest " |
| 41 | f"one.\nExpected {latest_tag}, got {pre_commit_rev}.\n" |
| 42 | ) |
| 43 | sys.exit(1) |
| 44 | |
| 45 | |
| 46 | if __name__ == "__main__": |
no outgoing calls
no test coverage detected