import logging import tempfile import sources from detector import Detector from downloader_manager import download_mp4_and_extract_audio from sorter import SlideSorter def process_video(link): try: video_bytes, audio_bytes = download_mp4_and_extract_audio(link) with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as temp_video: temp_video.write(video_bytes) temp_video_path = temp_video.name detector = Detector(temp_video_path) sorter = SlideSorter(sources.ListSource(detector.detect_slides()), outpath="sorted_slides/") slides = sorter.sort() return slides, audio_bytes except Exception as e: logging.exception("Failed to execute sorter: %s", e)