mirror of
https://github.com/malmeloo/FindMy.py.git
synced 2026-04-17 21:53:57 +02:00
47 lines
1.0 KiB
Python
Executable File
47 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
"""Script to resolve relative URLs in README prior to release."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import re
|
|
import subprocess
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
def main(args: list[str]) -> int:
|
|
if len(args) < 1:
|
|
print("No README path supplied.")
|
|
return 1
|
|
|
|
remote_url = (
|
|
subprocess.run(
|
|
["/usr/bin/env", "git", "remote", "get-url", "origin"],
|
|
check=True,
|
|
capture_output=True,
|
|
)
|
|
.stdout.decode("utf-8")
|
|
.strip()
|
|
)
|
|
|
|
# Convert SSH remote URLs to HTTPS
|
|
remote_url = re.sub(r"^ssh://git@", "https://", remote_url)
|
|
|
|
readme_path = Path(args[0])
|
|
readme_content = readme_path.read_text("utf-8")
|
|
|
|
new_content = re.sub(
|
|
r"(\[[^]]+]\()((?!https?:)[^)]+)(\))",
|
|
lambda m: m.group(1) + remote_url + "/blob/main/" + m.group(2) + m.group(3),
|
|
readme_content,
|
|
)
|
|
|
|
readme_path.write_text(new_content)
|
|
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main(sys.argv[1:]))
|