mirror of
https://github.com/correl/dejavu.git
synced 2024-11-23 11:09:52 +00:00
69 lines
2 KiB
Python
Executable file
69 lines
2 KiB
Python
Executable file
import os, subprocess
|
|
from os import listdir
|
|
from os.path import isfile, join
|
|
from optparse import OptionParser
|
|
|
|
usage = "usage: %prog [options] SONGS_PATH DESTINATION_FOLDER"
|
|
parser = OptionParser(usage=usage, version="%prog 1.1")
|
|
|
|
parser.add_option("-s", "--start",
|
|
action="store",
|
|
dest="start_time",
|
|
type=int,
|
|
default=10,
|
|
metavar="X",
|
|
help='Test files begin on X sec of the original song'
|
|
)
|
|
|
|
parser.add_option("--test-seconds",
|
|
action="append",
|
|
dest="test_seconds",
|
|
type=int,
|
|
default=[],
|
|
metavar="X",
|
|
help='Sets the seconds of the test files'
|
|
)
|
|
|
|
parser.add_option("--audio-format",
|
|
action="append",
|
|
dest="audio_formats",
|
|
default=[],
|
|
metavar="FORMAT",
|
|
help='Sets audio formats of files to read'
|
|
)
|
|
|
|
|
|
(options, args) = parser.parse_args()
|
|
|
|
if len(args) != 2:
|
|
parser.error("wrong number of arguments")
|
|
|
|
if args[0][len(args[0])-1] != "/":
|
|
args[0] += "/"
|
|
|
|
if args[1][len(args[1])-1] != "/":
|
|
args[1] += "/"
|
|
|
|
if len(options.test_seconds) == 0:
|
|
options.test_seconds = [1,2,3,4,5,6,7,8,9,10]
|
|
|
|
if len(options.audio_formats) == 0:
|
|
options.audio_formats = ['wav','mp3']
|
|
|
|
try:
|
|
os.stat(args[1])
|
|
except:
|
|
os.mkdir(args[1])
|
|
|
|
test_files = [ f for f in listdir(args[0]) if isfile(join(args[0],f)) and
|
|
os.path.splitext(f)[len(os.path.splitext(f))-1][1:] in options.audio_formats ]
|
|
|
|
for file in test_files:
|
|
|
|
filename = os.path.basename(file)
|
|
filename,extension = os.path.splitext(filename)
|
|
|
|
for i in options.test_seconds:
|
|
|
|
test_file_name = "%s%s_%s_%ssec%s" % (args[1],filename,options.start_time,i,extension)
|
|
subprocess.check_output(["ffmpeg", "-ss", "%s" % options.start_time, '-t' , "%s" % i, "-i", args[0]+file, test_file_name])
|