From be4aee2b27a26fd57abaafefc0ca04d44e8b6e38 Mon Sep 17 00:00:00 2001 From: Jacob Stevens Date: Thu, 6 Oct 2022 06:02:31 -0500 Subject: [PATCH] Started rewriting video service --- Video/videoservice.py | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Video/videoservice.py diff --git a/Video/videoservice.py b/Video/videoservice.py new file mode 100644 index 0000000..4208f21 --- /dev/null +++ b/Video/videoservice.py @@ -0,0 +1,61 @@ + +import time +import default +from Universal import ioservice +from Universal import loggingservice + +class VideoService: + def __init__(self): + self.logger = loggingservice.Output(True, False) + self.video_settings = default.VideoSettings() + self.video_settings.updateSettings() + + def startNewProcess(self, num=1): + self.logger.debugReport("[Video] startNewProcess") + self.current_library = num + self.total_processed = 0 + self.is_processing = True + self.video_settings.updateLibrary(self.current_library) + if self.video_settings.library["Server"].lower().find("none") == -1: + self.video_settings.updateServer(self.video_settings.library["Server"]) + while self.is_processing: + self.processLibraries() + + def processLibraries(self, refreshLib = True): + self.logger.debugReport("[Video] processLibraries") + tmp_library_time = time.time() + if self.video_settings.library is not None: + if self.video_settings.library["Input"] is not None: + if refreshLib: + self.total_processed = 0 + self.logger.infoReport("[Video] Current Library: " + self.video_settings.library["Name"]) + self.current_library_list = ioservice.listAllFiles(self.video_settings.library["Input"]) + if self.current_library_list is not None: + self.current_library_list = sorted(self.current_library_list) + if self.current_library_list is not None: + if refreshLib: + self.srt_list = [] + for item_search in self.current_library_list: + if item_search.lower().find(".srt") != -1: + self.srt_list.append(item_search) + if self.srt_list is not None: + for item_search in self.srt_list: + self.current_library_list.remove(item_search) + self.logger.infoReport("[Video] Found a total of " + str(len(self.current_library_list)) + " files") + for self.current_file in self.current_library_list: + if self.total_processed != 0: + self.logger.infoReport("[Video] Total file remaining: " + str(len(self.current_library_list) - self.total_processed)) + self.processVideo() + else: + self.logger.infoReport("[Video] Folder is empty") + ioservice.deleteEmptyFolders(self.video_settings.library["Input"]) + else: + self.is_processing = False + else: + self.is_processing = False + self.logger.infoReport("[Video] Current Library: " + self.video_settings.library["Name"] + " Time Elapsed: " + time.strftime("%H:%M:%S", time.gmtime(time.time() - tmp_library_time))) + self.current_library += 1 + + def processVideo(self): + self.logger.debugReport("[Video] processVideo") + self.logger.infoReport("[Video] Current File: " + self.current_file)