diff --git a/FFMpeg-Compressor/ffmpeg-comp.toml b/FFMpeg-Compressor/ffmpeg-comp.toml index 43199df..2827a2a 100644 --- a/FFMpeg-Compressor/ffmpeg-comp.toml +++ b/FFMpeg-Compressor/ffmpeg-comp.toml @@ -1,5 +1,5 @@ [FFMPEG] -FFmpegParams = "-n -hide_banner -loglevel error" +FFmpegParams = "-n -hide_banner -loglevel quiet" CopyUnprocessed = false MimicMode = false diff --git a/FFMpeg-Compressor/main.py b/FFMpeg-Compressor/main.py index bd7314a..f17dae7 100755 --- a/FFMpeg-Compressor/main.py +++ b/FFMpeg-Compressor/main.py @@ -44,6 +44,8 @@ for folder, folders, files in os.walk(orig_folder): case "unknown": comp_file = compressor.compress(folder, file, target_folder) + utils.check_file_existing(folder.replace(orig_folder, f"{orig_folder}_compressed"), file) + if configloader.config['FFMPEG']['MimicMode']: try: os.rename(comp_file, f'{folder}_compressed/{file}') diff --git a/FFMpeg-Compressor/modules/compressor.py b/FFMpeg-Compressor/modules/compressor.py index 3455988..7c382b8 100644 --- a/FFMpeg-Compressor/modules/compressor.py +++ b/FFMpeg-Compressor/modules/compressor.py @@ -89,7 +89,6 @@ def compress_image(folder, file, target_folder): def compress(folder, file, target_folder): ffmpeg_params = configloader.config['FFMPEG']['FFmpegParams'] - printer.warning("File extension not recognized. This may affect the quality of the compression.") printer.unknown_file(file) os.system(f"ffmpeg -i '{folder}/{file}' {ffmpeg_params} '{target_folder}/{file}'") return f'{target_folder}/{file}' diff --git a/FFMpeg-Compressor/modules/printer.py b/FFMpeg-Compressor/modules/printer.py index f735b01..f297a7d 100644 --- a/FFMpeg-Compressor/modules/printer.py +++ b/FFMpeg-Compressor/modules/printer.py @@ -38,5 +38,5 @@ def files(source, dest, dest_ext, comment): def unknown_file(file): - print(clean_str(f"\r[COMP] \033[0;33m{file}\033[0m")) + print(clean_str(f"\r[COMP] \033[0;33m{file}\033[0m (File extension not recognized)")) bar.next() diff --git a/FFMpeg-Compressor/modules/utils.py b/FFMpeg-Compressor/modules/utils.py index 3eb4d58..2828e28 100644 --- a/FFMpeg-Compressor/modules/utils.py +++ b/FFMpeg-Compressor/modules/utils.py @@ -3,6 +3,8 @@ from shutil import copyfile from glob import glob import os +errors_count = 0 + def get_dir_size(directory, files): total_size = 0 @@ -42,11 +44,14 @@ def get_compression_status(orig_folder): if not os.path.splitext(file)[1].count(" (copy)"): comp_folder_len += 1 + if errors_count != 0: + printer.warning("Some files failed to compress!") + if orig_folder_len == comp_folder_len: printer.info("Success!") get_compression(orig_folder, f"{orig_folder}_compressed") else: - printer.warning("Some files failed to compress!") + printer.warning("Original and compressed folders are not identical!") get_compression(orig_folder, f"{orig_folder}_compressed") @@ -67,5 +72,13 @@ def add_unprocessed_files(orig_folder): printer.info(f"File {file} copied to compressed folder.") +def check_file_existing(folder, file): + if not len(glob(f"{folder}/{os.path.splitext(file)[0]}*")): + global errors_count + errors_count += 1 + printer.error(f"{file} not processed. It can be ffmpeg error or file type is unsupported. " + f"You can set '-loglevel error' in ffmpeg config to see full error.") + + def help_message(): return "Usage: ffmpeg-comp {folder}"