further improved handling of filenames

This commit is contained in:
Kjistóf 2017-01-15 20:18:07 +01:00
parent 0c3b92fc9d
commit 3889b760c3

View File

@ -2,9 +2,14 @@ from subprocess import call, Popen, PIPE
from os import listdir
from re import match
from sys import argv
from enum import Enum
class Stream(Enum):
AUDIO = 1
VIDEO = 2
def getCmdStdErr(command):
process = Popen(command, stderr=PIPE, stdout=PIPE)
out, err = process.communicate()
@ -19,16 +24,16 @@ def getDuration(ffprobe_output):
return duration
argv.append('https://coub.com/view/aeeuu')
argv.append('https://coub.com/view/aeeuu') # TODO: remove debug line
FILES = {'AUDIO': 'audio', 'VIDEO': 'video'}
FILES = {Stream.AUDIO: 'audio', Stream.VIDEO: 'video'}
URL = argv[1] if len(argv) > 0 else '' # youtube-dl error message will be shown if ''
call(('/usr/bin/env', 'youtube-dl', '--extract-audio',
'--output', '{}.%(ext)s'.format(FILES['AUDIO']),
'--output', '{}.%(ext)s'.format(FILES[Stream.AUDIO]),
URL))
call(('/usr/bin/env', 'youtube-dl', '--output', '{}.%(ext)s'.format(FILES['VIDEO']),
call(('/usr/bin/env', 'youtube-dl', '--output', '{}.%(ext)s'.format(FILES[Stream.VIDEO]),
URL))
for file in listdir():
@ -36,8 +41,8 @@ for file in listdir():
if match('^{}.*'.format(FILES[filename]), file):
FILES[filename] = file
audioLen = getDuration(getCmdStdErr(('/usr/bin/env', 'ffprobe', FILES['AUDIO'])))
videoLen = getDuration(getCmdStdErr(('/usr/bin/env', 'ffprobe', FILES['VIDEO'])))
audioLen = getDuration(getCmdStdErr(('/usr/bin/env', 'ffprobe', FILES[Stream.AUDIO])))
videoLen = getDuration(getCmdStdErr(('/usr/bin/env', 'ffprobe', FILES[Stream.VIDEO])))
print(audioLen)
print(videoLen)