delete inactive holes

remotes/1693045480750635534/spooky-22
Aevann1 2022-06-10 00:07:17 +02:00
parent bec3ddb2a9
commit 10f3d4035d
1 changed files with 15 additions and 0 deletions

View File

@ -191,6 +191,21 @@ def stats(site=None):
if u.deflector and u.deflector < time.time():
u.deflector = None
one_week_ago = time.time() - 604800
active_holes = [x[0] for x in g.db.query(Submission.sub).distinct().filter(Submission.sub != None, Submission.created_utc > one_week_ago).all()]
dead_holes = g.db.query(Sub).filter(Sub.name.notin_(active_holes)).all()
names = [x.name for x in dead_holes]
posts = g.db.query(Submission).filter(Submission.sub.in_(names)).all()
for post in posts:
post.sub = None
g.db.add(post)
to_delete = g.db.query(Mod).filter(Mod.sub.in_(names)).all() + g.db.query(Exile).filter(Exile.sub.in_(names)).all() + g.db.query(SubBlock).filter(SubBlock.sub.in_(names)).all() + dead_holes
for x in to_delete:
g.db.delete(x)
g.db.commit()
return stats