krz/hutch-stats

Server-side utility for calculating contributions for sourcehut users. contributions server sourcehut stats

Commit 9edd38e961

9edd38e9619d5e4a2d2e046b6d8e0e0861ee21e8

parent: 259d02a463

Verified · cmc

cmc <hello@cleberg.net> · 2026-04-12 01:32 UTC

feat: filter discovered repositories to PUBLIC visibility only

Layout: unified · split

src/srht_contrib/services/git.py +5
@@ -55,6 +55,7 @@ query UserRepositories($username: String!, $cursor: Cursor) {
55 repositories(cursor: $cursor) { 55 repositories(cursor: $cursor) {
56 results { 56 results {
57 name 57 name
58 visibility
58 owner { 59 owner {
59 canonicalName 60 canonicalName
60 } 61 }
@@ -173,6 +174,8 @@ class GitIngestionService:
173 for repository in results: 174 for repository in results:
174 if not isinstance(repository, dict): 175 if not isinstance(repository, dict):
175 continue 176 continue
177 if repository.get("visibility") != "PUBLIC":
178 continue
176 name = repository.get("name") 179 name = repository.get("name")
177 repository_owner = ((repository.get("owner") or {}).get("canonicalName") or actor).strip() 180 repository_owner = ((repository.get("owner") or {}).get("canonicalName") or actor).strip()
178 if not name or not repository_owner: 181 if not name or not repository_owner:
@@ -259,6 +262,8 @@ class GitIngestionService:
259 for repository in results: 262 for repository in results:
260 if not isinstance(repository, dict): 263 if not isinstance(repository, dict):
261 continue 264 continue
265 if repository.get("visibility") != "PUBLIC":
266 continue
262 name = repository.get("name") 267 name = repository.get("name")
263 repository_owner = ((repository.get("owner") or {}).get("canonicalName") or actor).strip() 268 repository_owner = ((repository.get("owner") or {}).get("canonicalName") or actor).strip()
264 if not name or not repository_owner: 269 if not name or not repository_owner: