SummarizeAV / resource_loader /uploaded_media_loader.py
aazizisoufiane
add audio analysis
2285996
from config import output_path_video, output_path_audio
from logger import logger
from resource_loader.video_loader_interface import VideoLoaderInterface
class UploadedMediaLoader(VideoLoaderInterface):
def __init__(self, uploaded_stream, original_name, media_type='video'):
self.uploaded_stream = uploaded_stream
self.original_name = original_name
self.media_type = media_type # 'video' or 'audio'
self.media_id = None
self.filename = None
self.output_path = None
self.extract_filename()
self.set_output_path()
def extract_filename(self):
self.filename = self.original_name.split(" - ", 1)[1]
self.media_id = self.filename.rsplit(".", 1)[0]
def set_output_path(self):
if self.media_type == 'video':
self.output_path = output_path_video
elif self.media_type == 'audio':
self.output_path = output_path_audio
else:
raise ValueError("Invalid media type")
def download(self):
with open(f"{self.output_path}/{self.filename}", "wb") as f:
f.write(self.uploaded_stream.getvalue())
logger.info(f"{self.media_type.capitalize()} processed: {self.original_name}")