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]
|
[FFMPEG]
|
||||||
FFmpegParams = "-n -hide_banner -loglevel error"
|
FFmpegParams = "-n -hide_banner -loglevel error"
|
||||||
|
CopyUnprocessed = false
|
||||||
MimicMode = false
|
MimicMode = false
|
||||||
|
|
||||||
[AUDIO]
|
[AUDIO]
|
||||||
|
@ -7,7 +8,7 @@ Extension = "mp3"
|
||||||
BitRate = "320k"
|
BitRate = "320k"
|
||||||
|
|
||||||
[IMAGE]
|
[IMAGE]
|
||||||
Extension = "png"
|
Extension = "jpg"
|
||||||
CompLevel = 20
|
CompLevel = 20
|
||||||
JpegComp = 3
|
JpegComp = 3
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/python3
|
#!python3
|
||||||
|
|
||||||
from modules import configloader
|
from modules import configloader
|
||||||
from modules import compressor
|
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)
|
comp_file = compressor.compress_video(folder, file, target_folder)
|
||||||
case "unknown":
|
case "unknown":
|
||||||
comp_file = compressor.compress(folder, file, target_folder)
|
comp_file = compressor.compress(folder, file, target_folder)
|
||||||
|
|
||||||
if configloader.config['FFMPEG']['MimicMode']:
|
if configloader.config['FFMPEG']['MimicMode']:
|
||||||
|
try:
|
||||||
os.rename(comp_file, f'{folder}_compressed/{file}')
|
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)
|
utils.get_compression_status(orig_folder)
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
from modules import printer
|
from modules import printer
|
||||||
|
from shutil import copyfile
|
||||||
|
from glob import glob
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,11 +34,13 @@ def get_compression_status(orig_folder):
|
||||||
orig_folder_len = 0
|
orig_folder_len = 0
|
||||||
comp_folder_len = 0
|
comp_folder_len = 0
|
||||||
|
|
||||||
for folder, folders, file in os.walk(orig_folder):
|
for folder, folders, files in os.walk(orig_folder):
|
||||||
orig_folder_len += len(file)
|
orig_folder_len += len(files)
|
||||||
|
|
||||||
for folder, folders, file in os.walk(f'{orig_folder}_compressed'):
|
for folder, folders, files in os.walk(f'{orig_folder}_compressed'):
|
||||||
comp_folder_len += len(file)
|
for file in files:
|
||||||
|
if not os.path.splitext(file)[1].count(" (copy)"):
|
||||||
|
comp_folder_len += 1
|
||||||
|
|
||||||
if orig_folder_len == comp_folder_len:
|
if orig_folder_len == comp_folder_len:
|
||||||
printer.info("Success!")
|
printer.info("Success!")
|
||||||
|
@ -46,6 +50,22 @@ def get_compression_status(orig_folder):
|
||||||
get_compression(orig_folder, f"{orig_folder}_compressed")
|
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():
|
def help_message():
|
||||||
text = "Usage: ffmpeg-comp {folder}"
|
return "Usage: ffmpeg-comp {folder}"
|
||||||
return text
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue