moved dependency checking to utility module
This commit is contained in:
parent
71ec1f778f
commit
a881bdaaf6
20
coub-dl.py
20
coub-dl.py
@ -5,7 +5,7 @@
|
|||||||
# terms of the Do What The Fuck You Want To Public License, Version 2,
|
# terms of the Do What The Fuck You Want To Public License, Version 2,
|
||||||
# as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.
|
# as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.
|
||||||
|
|
||||||
from subprocess import call, Popen, PIPE, check_output, DEVNULL, CalledProcessError
|
from subprocess import call, Popen, PIPE, DEVNULL
|
||||||
from os import listdir, remove
|
from os import listdir, remove
|
||||||
from os.path import splitext, exists, join
|
from os.path import splitext, exists, join
|
||||||
from re import match
|
from re import match
|
||||||
@ -17,7 +17,7 @@ from signal import signal, SIGINT
|
|||||||
from sys import exit
|
from sys import exit
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
import utility
|
import utility
|
||||||
from utility import call_verbose, print_opt, get_output, temporary_directory, yes_no_question
|
from utility import call_verbose, print_opt, get_output, temporary_directory, yes_no_question, check_dependencies
|
||||||
|
|
||||||
|
|
||||||
class Stream(Enum):
|
class Stream(Enum):
|
||||||
@ -168,20 +168,6 @@ class coub_dl:
|
|||||||
return get_output(('youtube-dl', '--get-title', url))
|
return get_output(('youtube-dl', '--get-title', url))
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
@call_verbose(before_message='Checking your system for dependencies... ', after_message='Found all!')
|
|
||||||
def check_for_dependencies():
|
|
||||||
check_for = (('youtube-dl', '--version'), ('ffmpeg', '-version'))
|
|
||||||
error_str = '\nMissing dependencies: {}'
|
|
||||||
missing = []
|
|
||||||
|
|
||||||
for command in check_for:
|
|
||||||
try: check_output(command)
|
|
||||||
except (CalledProcessError, FileNotFoundError): missing.append(command[0])
|
|
||||||
|
|
||||||
if missing: exit(error_str.format(', '.join(missing)))
|
|
||||||
|
|
||||||
|
|
||||||
def run(URL, output, extension):
|
def run(URL, output, extension):
|
||||||
# create dict that contains files used
|
# create dict that contains files used
|
||||||
FILES = deepcopy(coub_dl.default_files)
|
FILES = deepcopy(coub_dl.default_files)
|
||||||
@ -232,7 +218,7 @@ if __name__ == '__main__':
|
|||||||
args = parse_cmd_arguments()
|
args = parse_cmd_arguments()
|
||||||
utility.VERBOSE = False if args.nonverbose else True
|
utility.VERBOSE = False if args.nonverbose else True
|
||||||
|
|
||||||
coub_dl.check_for_dependencies()
|
check_dependencies((('youtube-dl', '--version'), ('ffmpeg', '-version')))
|
||||||
|
|
||||||
for url in set(args.URLs):
|
for url in set(args.URLs):
|
||||||
print_opt('\nCreating video from {}'.format(url))
|
print_opt('\nCreating video from {}'.format(url))
|
||||||
|
14
utility.py
14
utility.py
@ -1,7 +1,7 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
from tempfile import mkdtemp
|
from tempfile import mkdtemp
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
from subprocess import check_output
|
from subprocess import check_output, CalledProcessError
|
||||||
|
|
||||||
|
|
||||||
VERBOSE = True
|
VERBOSE = True
|
||||||
@ -56,3 +56,15 @@ class temporary_directory:
|
|||||||
|
|
||||||
def get_output(*args, **kwargs):
|
def get_output(*args, **kwargs):
|
||||||
return check_output(*args, **kwargs).decode().rstrip('\n')
|
return check_output(*args, **kwargs).decode().rstrip('\n')
|
||||||
|
|
||||||
|
|
||||||
|
@call_verbose(before_message='Checking your system for dependencies... ', after_message='Found all!')
|
||||||
|
def check_dependencies(check_for):
|
||||||
|
error_str = '\nMissing dependencies: {}'
|
||||||
|
missing = []
|
||||||
|
|
||||||
|
for command in check_for:
|
||||||
|
try: check_output(command)
|
||||||
|
except (CalledProcessError, FileNotFoundError): missing.append(command[0])
|
||||||
|
|
||||||
|
if missing: exit(error_str.format(', '.join(missing)))
|
||||||
|
Loading…
Reference in New Issue
Block a user