Added --no-remove-original-file. Fixed bug with ffmpeg accessing stdin.

Fixed tests
This commit is contained in:
Fereidoon Mehri
2019-07-18 12:05:38 +04:30
parent 341af5bce9
commit 597828866b
4 changed files with 18 additions and 9 deletions

View File

@@ -16,7 +16,7 @@ https://trac.ffmpeg.org/wiki/Encode/AAC
"""
def song(input_song, output_song, folder, avconv=False, trim_silence=False):
def song(input_song, output_song, folder, avconv=False, trim_silence=False, delete_original=True):
""" Do the audio format conversion. """
if avconv and trim_silence:
raise ValueError("avconv does not support trim_silence")
@@ -28,7 +28,7 @@ def song(input_song, output_song, folder, avconv=False, trim_silence=False):
else:
return 0
convert = Converter(input_song, output_song, folder, delete_original=True)
convert = Converter(input_song, output_song, folder, delete_original=delete_original)
if avconv:
exit_code, command = convert.with_avconv()
else:
@@ -97,7 +97,7 @@ class Converter:
return code, command
def with_ffmpeg(self, trim_silence=False):
ffmpeg_pre = "ffmpeg -y "
ffmpeg_pre = "ffmpeg -y -nostdin " # -nostdin is necessary for spotdl to be able to run in the backgroung.
if not log.level == 10:
ffmpeg_pre += "-hide_banner -nostats -v panic "

View File

@@ -133,6 +133,7 @@ class Downloader:
const.args.folder,
avconv=const.args.avconv,
trim_silence=const.args.trim_silence,
delete_original=not const.args.no_remove_original,
)
except FileNotFoundError:
encoder = "avconv" if const.args.avconv else "ffmpeg"

View File

@@ -15,6 +15,7 @@ _LOG_LEVELS_STR = ["INFO", "WARNING", "ERROR", "DEBUG"]
default_conf = {
"spotify-downloader": {
"no-remove-original": False,
"manual": False,
"no-metadata": False,
"no-fallback-metadata": False,
@@ -139,6 +140,13 @@ def get_arguments(raw_args=None, to_group=True, to_merge=True):
help="choose the track to download manually from a list of matching tracks",
action="store_true",
)
parser.add_argument(
"-nr",
"--no-remove-original",
default=config["no-remove-original"],
help="do not remove the original file after conversion",
action="store_true",
)
parser.add_argument(
"-nm",
"--no-metadata",