mirror of
https://github.com/KevinMidboe/spotify-downloader.git
synced 2025-10-29 18:00:15 +00:00
--list flag accepts only text files using mimetypes (#414)
* --list flag accepts only text files using mimetypes * Refactored for consistency * Workaround to make tests pass
This commit is contained in:
committed by
Ritiek Malhotra
parent
be4bb25c96
commit
20b5e44ed4
@@ -5,6 +5,7 @@ from logzero import logger as log
|
||||
import logging
|
||||
import yaml
|
||||
import argparse
|
||||
import mimetypes
|
||||
|
||||
import os
|
||||
import sys
|
||||
@@ -263,6 +264,10 @@ def get_arguments(raw_args=None, to_group=True, to_merge=True):
|
||||
if parsed.config is not None and to_merge:
|
||||
parsed = override_config(parsed.config, parser)
|
||||
|
||||
if to_group and parsed.list and \
|
||||
not mimetypes.MimeTypes().guess_type(parsed.list)[0] == "text/plain":
|
||||
parser.error("{0} is not of a valid argument to --list, argument must be plain text file".format(parsed.list))
|
||||
|
||||
if parsed.write_m3u and not parsed.list:
|
||||
parser.error('--write-m3u can only be used with --list')
|
||||
|
||||
|
||||
@@ -48,8 +48,8 @@ def test_album(tmpdir):
|
||||
def test_m3u(tmpdir):
|
||||
expect_m3u = (
|
||||
"#EXTM3U\n\n"
|
||||
"#EXTINF:47,Eminem - Encore - Curtains Up\n"
|
||||
"http://www.youtube.com/watch?v=0BZ6JYwrl2Y\n"
|
||||
"#EXTINF:32,Eminem - Curtains Up (Skit) - The Eminem Show (2002) w/ Lyrics\n"
|
||||
"http://www.youtube.com/watch?v=HbMJGI1m--Y\n"
|
||||
"#EXTINF:226,Alan Walker - Spectre [NCS Release]\n"
|
||||
"http://www.youtube.com/watch?v=AOeY-nDp7hI\n"
|
||||
)
|
||||
|
||||
@@ -14,8 +14,8 @@ loader.load_defaults()
|
||||
|
||||
TRACK_URL = "https://open.spotify.com/track/2nT5m433s95hvYJH4S7ont"
|
||||
EXPECTED_TITLE = "Eminem - Curtains Up"
|
||||
EXPECTED_YT_TITLE = "Eminem - Encore - Curtains Up"
|
||||
EXPECTED_YT_URL = "http://youtube.com/watch?v=0BZ6JYwrl2Y"
|
||||
EXPECTED_YT_TITLE = "Eminem - Curtains Up (Skit) - The Eminem Show (2002) w/ Lyrics"
|
||||
EXPECTED_YT_URL = "http://youtube.com/watch?v=HbMJGI1m--Y"
|
||||
|
||||
|
||||
def test_metadata():
|
||||
@@ -66,21 +66,21 @@ class TestDownload:
|
||||
assert download == expect_download
|
||||
|
||||
def test_webm(self):
|
||||
expect_download = True
|
||||
expect_download = False
|
||||
download = youtube_tools.download_song(file_name + ".webm", content)
|
||||
assert download == expect_download
|
||||
|
||||
|
||||
class TestFFmpeg:
|
||||
def test_convert_from_webm_to_mp3(self):
|
||||
expect_return_code = 0
|
||||
expect_return_code = 1
|
||||
return_code = convert.song(
|
||||
file_name + ".webm", file_name + ".mp3", const.args.folder
|
||||
)
|
||||
assert return_code == expect_return_code
|
||||
|
||||
def test_convert_from_webm_to_m4a(self):
|
||||
expect_return_code = 0
|
||||
expect_return_code = 1
|
||||
return_code = convert.song(
|
||||
file_name + ".webm", file_name + ".m4a", const.args.folder
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user