refactor: jsc-herdr 技能改名,herdr 改為 cmd、gitea-issue 改為 gitea
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
5701b8b8e5
commit
346cbbad2c
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# git credential helper:用 tea 預設 login 的帳號與 token 回應 HTTPS 認證,避免 git 要互動輸入帳密
|
||||
# ("could not read Username ... No such device or address")。只處理 get,且只回應該 login 的主機。
|
||||
[ "${1:-}" = get ] || exit 0
|
||||
exec python3 -c '
|
||||
import os, sys
|
||||
req = dict(l.split("=", 1) for l in sys.stdin.read().splitlines() if "=" in l)
|
||||
cfg = os.path.join(os.environ.get("XDG_CONFIG_HOME") or os.path.expanduser("~/.config"), "tea", "config.yml")
|
||||
logins, cur = [], None
|
||||
for line in open(cfg):
|
||||
s = line.strip()
|
||||
if s.startswith("- name:"):
|
||||
cur = {"name": s.split(":", 1)[1].strip()}; logins.append(cur)
|
||||
elif cur is not None and ":" in s:
|
||||
k, v = s.split(":", 1)
|
||||
if k in ("url", "token", "user", "default"): cur[k] = v.strip().strip("\"\x27")
|
||||
want = os.environ.get("HERDR_ISSUE_LOGIN")
|
||||
pick = next((l for l in logins if l["name"] == want), None) if want else None
|
||||
pick = pick or next((l for l in logins if l.get("default") == "true"), None)
|
||||
if not pick or not pick.get("token"): sys.exit(0)
|
||||
host = pick["url"].split("://", 1)[-1].rstrip("/")
|
||||
if req.get("host") != host: sys.exit(0)
|
||||
print("username=" + pick["user"]); print("password=" + pick["token"])
|
||||
'
|
||||
Reference in New Issue
Block a user