(argv=None)
| 47 | |
| 48 | |
| 49 | def main(argv=None): |
| 50 | parser = argparse.ArgumentParser( |
| 51 | description="Reject docs links that point to moving GitHub source refs." |
| 52 | ) |
| 53 | parser.add_argument("--root", default="docs", help="Directory to scan.") |
| 54 | parser.add_argument( |
| 55 | "--repo-slug", required=True, help="Example: PaddlePaddle/PaddleOCR" |
| 56 | ) |
| 57 | parser.add_argument( |
| 58 | "--forbidden-ref", |
| 59 | action="append", |
| 60 | required=True, |
| 61 | help="Moving source ref to reject. Can be passed multiple times.", |
| 62 | ) |
| 63 | args = parser.parse_args(argv) |
| 64 | |
| 65 | violations = find_forbidden_links( |
| 66 | args.root, |
| 67 | repo_slug=args.repo_slug, |
| 68 | forbidden_refs=set(args.forbidden_ref), |
| 69 | ) |
| 70 | if violations: |
| 71 | for violation in violations: |
| 72 | print( |
| 73 | f"{violation.path}:{violation.line_number}: " |
| 74 | f"forbidden GitHub ref '{violation.ref}' in {violation.url}" |
| 75 | ) |
| 76 | return 1 |
| 77 | return 0 |
| 78 | |
| 79 | |
| 80 | if __name__ == "__main__": |
no test coverage detected
searching dependent graphs…