30 lines
908 B
Python
30 lines
908 B
Python
# SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
|
#
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
import asyncio
|
|
|
|
from classquiz.config import settings, redis, storage
|
|
from classquiz.storage.errors import DeletionFailedError
|
|
|
|
settings = settings()
|
|
|
|
|
|
async def main():
|
|
edit_sessions = await redis.smembers("edit_sessions")
|
|
for session_id in edit_sessions:
|
|
session = await redis.get(f"edit_session:{session_id}")
|
|
if session is None:
|
|
images = await redis.lrange(f"edit_session:{session_id}:images", 0, 3000)
|
|
if len(images) != 0:
|
|
try:
|
|
await storage.delete(images)
|
|
except DeletionFailedError:
|
|
print("Deletion Error", images)
|
|
await redis.srem("edit_sessions", session_id)
|
|
await redis.delete(f"edit_session:{session_id}:images")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|