From f1312c7c3bc376fde865dcf151b40007cebc5af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Mon, 10 Aug 2020 23:41:11 +0200 Subject: [PATCH] Actually remove autocreated repositories periodically --- gitsrht-periodic | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gitsrht-periodic b/gitsrht-periodic index 911a01f..bfb8fed 100755 --- a/gitsrht-periodic +++ b/gitsrht-periodic @@ -1,17 +1,24 @@ #!/usr/bin/env python3 from srht.config import cfg from srht.database import DbSession -db = DbSession(cfg("git.sr.ht", "connection-string")) +from gitsrht.repos import GitRepoApi from gitsrht.types import Repository, RepoVisibility -db.init() from datetime import datetime, timedelta +db = DbSession(cfg("git.sr.ht", "connection-string")) +db.init() +repo_api = GitRepoApi() + def cleanup_autocreated(): due = datetime.utcnow() - timedelta(minutes=20) repos = (Repository.query .filter(Repository.visibility == RepoVisibility.autocreated) .filter(Repository.created < due)).all() - (db.session.delete(r) for r in repos) + for r in repos: + # Use session.delete()+do_delete_repo() instead of d_r(), + # which commits immediately + repo_api.do_delete_repo(r) + db.session.delete(r) db.session.commit() cleanup_autocreated() -- 2.38.4