feat: bypass Cloudflare block & convert close/mark issue shell scripts to Python

This commit is contained in:
2026-06-21 22:32:37 -04:00
parent 51296c88a3
commit 80a71f2020
8 changed files with 232 additions and 162 deletions
Executable
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
"""Close a Gitea issue.
Usage:
close_issue.py <issue_number>
close_issue.py --remote prgs 12
"""
import sys
import argparse
from gitea_auth import (
get_auth_header, resolve_remote, add_remote_args,
api_request, repo_api_url,
)
def main(argv=None):
parser = argparse.ArgumentParser(description="Close a Gitea issue.")
add_remote_args(parser)
parser.add_argument("issue_number", type=int, help="Issue number to close.")
args = parser.parse_args(argv)
host, org, repo = resolve_remote(args)
auth = get_auth_header(host)
if not auth:
print(f"Could not get credentials or token for {host}.", file=sys.stderr)
return 1
url = f"{repo_api_url(host, org, repo)}/issues/{args.issue_number}"
try:
api_request("PATCH", url, auth, {"state": "closed"})
print(f"#{args.issue_number} closed")
return 0
except RuntimeError as e:
print(f"Error: {e}", file=sys.stderr)
return 1
if __name__ == "__main__":
sys.exit(main())