diff --git a/config.py b/config.py index fbe532b..44198ab 100644 --- a/config.py +++ b/config.py @@ -1,4 +1,6 @@ from pathlib import Path +import re +from typing import Optional class Config: QUEUE_FILE = "queue.json" @@ -6,3 +8,5 @@ class Config: BASE_PATH = Path("/path/to/videos") DESTINATION_PATH = Path("/where/to/save/result") LOW_BITRATE_THRESHOLD = 550 + FILENAME_REGEX: Optional[re.Pattern] = None + OVERWRITE: bool = True diff --git a/main.py b/main.py index baecc0b..a24bda1 100644 --- a/main.py +++ b/main.py @@ -20,6 +20,9 @@ extensions = { jobs = [] for dir, dirs, files in os.walk(str(Config.BASE_PATH)): for file in files: + if Config.FILENAME_REGEX: + if not Config.FILENAME_REGEX.match(file): + continue parts = file.rsplit(".", 1) if len(parts) == 2: extension = parts[1].lower() @@ -28,6 +31,8 @@ for dir, dirs, files in os.walk(str(Config.BASE_PATH)): relative_path = current_path.relative_to(Config.BASE_PATH) print(relative_path / file, end=" ") item = QueueItem(Path(dir) / file, Config.DESTINATION_PATH / relative_path) + if not Config.OVERWRITE and item.task.destination.exists(): + continue info = item.task.mediainfo if info.codec == 'HEVC': print("")