FFMpeg-Compressor: Copy all unprocessed files to destination folder
This commit is contained in:
parent
e4de881424
commit
cefd0bc9ba
3 changed files with 39 additions and 9 deletions
|
@ -1,5 +1,6 @@
|
|||
[FFMPEG]
|
||||
FFmpegParams = "-n -hide_banner -loglevel error"
|
||||
CopyUnprocessed = false
|
||||
MimicMode = false
|
||||
|
||||
[AUDIO]
|
||||
|
@ -7,7 +8,7 @@ Extension = "mp3"
|
|||
BitRate = "320k"
|
||||
|
||||
[IMAGE]
|
||||
Extension = "png"
|
||||
Extension = "jpg"
|
||||
CompLevel = 20
|
||||
JpegComp = 3
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/python3
|
||||
#!python3
|
||||
|
||||
from modules import configloader
|
||||
from modules import compressor
|
||||
|
@ -43,6 +43,15 @@ for folder, folders, files in os.walk(orig_folder):
|
|||
comp_file = compressor.compress_video(folder, file, target_folder)
|
||||
case "unknown":
|
||||
comp_file = compressor.compress(folder, file, target_folder)
|
||||
|
||||
if configloader.config['FFMPEG']['MimicMode']:
|
||||
try:
|
||||
os.rename(comp_file, f'{folder}_compressed/{file}')
|
||||
except FileNotFoundError:
|
||||
printer.error(f"File {file} can't be processed! Maybe it is ffmpeg error or unsupported file. "
|
||||
f"You can change -loglevel in ffmpeg parameters to see full error.")
|
||||
|
||||
if configloader.config['FFMPEG']['CopyUnprocessed']:
|
||||
printer.info("Copying unprocessed files...")
|
||||
utils.add_unprocessed_files(orig_folder)
|
||||
utils.get_compression_status(orig_folder)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
from modules import printer
|
||||
from shutil import copyfile
|
||||
from glob import glob
|
||||
import os
|
||||
|
||||
|
||||
|
@ -32,11 +34,13 @@ def get_compression_status(orig_folder):
|
|||
orig_folder_len = 0
|
||||
comp_folder_len = 0
|
||||
|
||||
for folder, folders, file in os.walk(orig_folder):
|
||||
orig_folder_len += len(file)
|
||||
for folder, folders, files in os.walk(orig_folder):
|
||||
orig_folder_len += len(files)
|
||||
|
||||
for folder, folders, file in os.walk(f'{orig_folder}_compressed'):
|
||||
comp_folder_len += len(file)
|
||||
for folder, folders, files in os.walk(f'{orig_folder}_compressed'):
|
||||
for file in files:
|
||||
if not os.path.splitext(file)[1].count(" (copy)"):
|
||||
comp_folder_len += 1
|
||||
|
||||
if orig_folder_len == comp_folder_len:
|
||||
printer.info("Success!")
|
||||
|
@ -46,6 +50,22 @@ def get_compression_status(orig_folder):
|
|||
get_compression(orig_folder, f"{orig_folder}_compressed")
|
||||
|
||||
|
||||
def add_unprocessed_files(orig_folder):
|
||||
for folder, folders, files in os.walk(orig_folder):
|
||||
for file in files:
|
||||
new_folder = f"{folder}".replace(orig_folder, f"{orig_folder}_compressed")
|
||||
if len(glob(f"{folder}/{os.path.splitext(file)[0]}*")) != 1:
|
||||
if len(glob(f"{new_folder}/{file}")):
|
||||
copyfile(f"{folder}/{file}", f"{new_folder}/{file} (copy)")
|
||||
printer.warning(f'Duplicate file has been found! Check manually this files - "{file}", "{file} (copy)"')
|
||||
else:
|
||||
copyfile(f"{folder}/{file}", f"{new_folder}/{file}")
|
||||
printer.info(f"File {file} copied to compressed folder.")
|
||||
else:
|
||||
if not len(glob(f"{folder}_compressed/{os.path.splitext(file)[0]}*")):
|
||||
copyfile(f"{folder}/{file}", f"{new_folder}/{file}")
|
||||
printer.info(f"File {file} copied to compressed folder.")
|
||||
|
||||
|
||||
def help_message():
|
||||
text = "Usage: ffmpeg-comp {folder}"
|
||||
return text
|
||||
return "Usage: ffmpeg-comp {folder}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue