42 lines
1.3 KiB
Python
Executable File
42 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#coding: utf-8
|
|
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
|
|
source = "/home/justine/NAS/Musique"
|
|
dest = "/home/justine/Music/Converted"
|
|
|
|
# 1 - Copy the folder structure
|
|
|
|
for path, directories, files in os.walk(source):
|
|
|
|
for d in directories:
|
|
orig_path = str(os.path.join(path,d))
|
|
new_path = orig_path.replace(source, dest)
|
|
print(f"1 - Creating {new_path}")
|
|
os.makedirs(new_path, exist_ok=True)
|
|
|
|
# 2 - Copy and Convert if needed
|
|
|
|
for f in files:
|
|
file_path = str(os.path.join(path, f))
|
|
new_file_path = file_path.replace(source, dest)
|
|
print(f"2 - Copying {f}")
|
|
shutil.copyfile(file_path, new_file_path)
|
|
new_file_dir = new_file_path.replace(f, "")
|
|
|
|
if "justine/NAS" in new_file_dir:
|
|
print("ERROOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOR")
|
|
sys.exit(1)
|
|
|
|
if f.endswith(".flac"):
|
|
new_file_after = new_file_path.replace(".flac", ".mp3")
|
|
print(f"3 - Converting {f}")
|
|
os.chdir(new_file_dir)
|
|
command = f"/usr/bin/ffmpeg -i \"{f}\" -ab 320k -map_metadata 0 -id3v2_version 3 \"{f.replace(".flac", ".mp3")}\""
|
|
print(subprocess.run(command, shell=True, check=False, capture_output=True))
|
|
os.remove(f)
|