Exit with message if ffmpeg is not installed
This commit is contained in:
parent
d2ebc0feed
commit
bcb94b2e5e
24
scdl/scdl.py
24
scdl/scdl.py
@ -65,8 +65,6 @@ import logging
|
|||||||
import mimetypes
|
import mimetypes
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
import soundcloud
|
|
||||||
|
|
||||||
mimetypes.init()
|
mimetypes.init()
|
||||||
|
|
||||||
import os
|
import os
|
||||||
@ -84,6 +82,7 @@ import mutagen
|
|||||||
from mutagen.easymp4 import EasyMP4
|
from mutagen.easymp4 import EasyMP4
|
||||||
|
|
||||||
EasyMP4.RegisterTextKey("website", "purl")
|
EasyMP4.RegisterTextKey("website", "purl")
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from clint.textui import progress
|
from clint.textui import progress
|
||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
@ -107,6 +106,11 @@ def main():
|
|||||||
"""
|
"""
|
||||||
signal.signal(signal.SIGINT, signal_handler)
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
|
||||||
|
# exit if ffmpeg not installed
|
||||||
|
if not is_ffmpeg_available():
|
||||||
|
logger.error("ffmpeg is not installed")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
# Parse arguments
|
# Parse arguments
|
||||||
arguments = docopt(__doc__, version=__version__)
|
arguments = docopt(__doc__, version=__version__)
|
||||||
python_args = {
|
python_args = {
|
||||||
@ -132,7 +136,7 @@ def main():
|
|||||||
os.chdir(path)
|
os.chdir(path)
|
||||||
else:
|
else:
|
||||||
logger.error(f"Invalid download path '{path}' in {config_file}")
|
logger.error(f"Invalid download path '{path}' in {config_file}")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
|
|
||||||
logger.info("Soundcloud Downloader")
|
logger.info("Soundcloud Downloader")
|
||||||
logger.debug(arguments)
|
logger.debug(arguments)
|
||||||
@ -160,7 +164,7 @@ def main():
|
|||||||
raise ValueError()
|
raise ValueError()
|
||||||
except:
|
except:
|
||||||
logger.error("Offset should be a positive integer...")
|
logger.error("Offset should be a positive integer...")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
logger.debug("offset: %d", python_args["offset"])
|
logger.debug("offset: %d", python_args["offset"])
|
||||||
|
|
||||||
if arguments["--min-size"] is not None:
|
if arguments["--min-size"] is not None:
|
||||||
@ -170,7 +174,7 @@ def main():
|
|||||||
logger.exception(
|
logger.exception(
|
||||||
"Min size should be an integer with a possible unit suffix"
|
"Min size should be an integer with a possible unit suffix"
|
||||||
)
|
)
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
logger.debug("min-size: %d", arguments["--min-size"])
|
logger.debug("min-size: %d", arguments["--min-size"])
|
||||||
|
|
||||||
if arguments["--max-size"] is not None:
|
if arguments["--max-size"] is not None:
|
||||||
@ -178,7 +182,7 @@ def main():
|
|||||||
arguments["--max-size"] = utils.size_in_bytes(arguments["--max-size"])
|
arguments["--max-size"] = utils.size_in_bytes(arguments["--max-size"])
|
||||||
except:
|
except:
|
||||||
logger.error("Max size should be an integer with a possible unit suffix")
|
logger.error("Max size should be an integer with a possible unit suffix")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
logger.debug("max-size: %d", arguments["--max-size"])
|
logger.debug("max-size: %d", arguments["--max-size"])
|
||||||
|
|
||||||
if arguments["--hidewarnings"]:
|
if arguments["--hidewarnings"]:
|
||||||
@ -189,7 +193,7 @@ def main():
|
|||||||
os.chdir(arguments["--path"])
|
os.chdir(arguments["--path"])
|
||||||
else:
|
else:
|
||||||
logger.error("Invalid path in arguments...")
|
logger.error("Invalid path in arguments...")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
logger.debug("Downloading to " + os.getcwd() + "...")
|
logger.debug("Downloading to " + os.getcwd() + "...")
|
||||||
|
|
||||||
if not arguments["--name-format"]:
|
if not arguments["--name-format"]:
|
||||||
@ -459,7 +463,7 @@ def download_original_file(client: SoundCloud, track: BasicTrack, title: str, pl
|
|||||||
|
|
||||||
if received != total_length:
|
if received != total_length:
|
||||||
logger.error("connection closed prematurely, download incomplete")
|
logger.error("connection closed prematurely, download incomplete")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
|
|
||||||
shutil.move(temp.name, os.path.join(os.getcwd(), filename))
|
shutil.move(temp.name, os.path.join(os.getcwd(), filename))
|
||||||
if kwargs.get("flac") and can_convert(filename):
|
if kwargs.get("flac") and can_convert(filename):
|
||||||
@ -571,7 +575,7 @@ def download_track(client: SoundCloud, track: BasicTrack, playlist_info=None, **
|
|||||||
if not os.path.isfile(filename):
|
if not os.path.isfile(filename):
|
||||||
logger.error(f"An error occurred downloading {filename}.\n")
|
logger.error(f"An error occurred downloading {filename}.\n")
|
||||||
logger.error("Exiting...")
|
logger.error("Exiting...")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Try to set the metadata
|
# Try to set the metadata
|
||||||
if (
|
if (
|
||||||
@ -630,7 +634,7 @@ def already_downloaded(track: BasicTrack, title: str, filename: str, **kwargs):
|
|||||||
else:
|
else:
|
||||||
logger.error(f'Track "{title}" already exists!')
|
logger.error(f'Track "{title}" already exists!')
|
||||||
logger.error("Exiting... (run again with -c to continue)")
|
logger.error("Exiting... (run again with -c to continue)")
|
||||||
sys.exit(-1)
|
sys.exit(1)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user