#!/usr/bin/env python3 """Что меняли последние авто-коммиты portal-репо (как ходит контент sites/*).""" import json import re import urllib.request GIT = "https://git.cil.by" TOK = re.search(r":([a-f0-9]{40})@", open("/home/hermes/vybirai/.git/config", errors="ignore").read()).group(1) REPO = "symbiot/portal" def api(path): req = urllib.request.Request(f"{GIT}/api/v1{path}", headers={"Authorization": f"token {TOK}"}) with urllib.request.urlopen(req, timeout=15) as r: return json.loads(r.read()) commits = api(f"/repos/{REPO}/commits?limit=15&sha=main") for c in commits: sha, msg = c["sha"], c["commit"]["message"].split("\n")[0][:60] detail = api(f"/repos/{REPO}/git/commits/{sha}") files = detail.get("files", []) site_files = [f["filename"] for f in files if "sites/" in f["filename"] or "static/" in f["filename"]] print(f"{sha[:8]} {msg}") if site_files: for f in site_files[:6]: print(f" {f} (+{f.count('/')})" if False else f" {f}") elif files: print(f" ({len(files)} файлов: {', '.join(x['filename'] for x in files[:4])})")