Spaces:
Runtime error
Runtime error
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}") | |