from starlette.middleware.base import BaseHTTPMiddleware from starlette.requests import Request from helpers.file_utils import delete_folders, delete_videos class CleanupMiddleware(BaseHTTPMiddleware): async def dispatch(self, request: Request, call_next): response = await call_next(request) output_dir_for_extracted_frames = "extracted_frames" output_dir_for_sampled_frames = "sampled_frames" video_files_to_delete = ["processed*.mp4"] delete_folders(output_dir_for_extracted_frames, output_dir_for_sampled_frames) delete_videos(video_files_to_delete) return response