aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-04-25 11:59:54 +0200
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-04-25 11:59:54 +0200
commit9f3fa89f7c6300c8a7372cf7f694fd8a659785cb (patch)
treea2930f8f237f66d1fe3bc1fa7a9156d16d9a2460
parent92995e6265d2287ee67af869e36a56a05fb86a06 (diff)
downloadyoutube-dl-9f3fa89f7c6300c8a7372cf7f694fd8a659785cb.tar.xz
Remove the --max-quality option
It doesn't work well with 'bestvideo' and 'bestaudio' because they are usually before the max quality. Format filters should be used instead, they are more flexible and don't require the requested quality to exist for each video.
-rw-r--r--test/parameters.json1
-rw-r--r--test/test_YoutubeDL.py33
-rwxr-xr-xyoutube_dl/YoutubeDL.py8
-rw-r--r--youtube_dl/__init__.py1
-rw-r--r--youtube_dl/options.py4
-rw-r--r--youtube_dl/utils.py9
6 files changed, 0 insertions, 56 deletions
diff --git a/test/parameters.json b/test/parameters.json
index 48b5a062e..7bf59c25f 100644
--- a/test/parameters.json
+++ b/test/parameters.json
@@ -8,7 +8,6 @@
"forcetitle": false,
"forceurl": false,
"format": "best",
- "format_limit": null,
"ignoreerrors": false,
"listformats": null,
"logtostderr": false,
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py
index 820e55ec2..bb4a65ee1 100644
--- a/test/test_YoutubeDL.py
+++ b/test/test_YoutubeDL.py
@@ -101,39 +101,6 @@ class TestFormatSelection(unittest.TestCase):
downloaded = ydl.downloaded_info_dicts[0]
self.assertEqual(downloaded['ext'], 'flv')
- def test_format_limit(self):
- formats = [
- {'format_id': 'meh', 'url': 'http://example.com/meh', 'preference': 1},
- {'format_id': 'good', 'url': 'http://example.com/good', 'preference': 2},
- {'format_id': 'great', 'url': 'http://example.com/great', 'preference': 3},
- {'format_id': 'excellent', 'url': 'http://example.com/exc', 'preference': 4},
- ]
- info_dict = _make_result(formats)
-
- ydl = YDL()
- ydl.process_ie_result(info_dict)
- downloaded = ydl.downloaded_info_dicts[0]
- self.assertEqual(downloaded['format_id'], 'excellent')
-
- ydl = YDL({'format_limit': 'good'})
- assert ydl.params['format_limit'] == 'good'
- ydl.process_ie_result(info_dict.copy())
- downloaded = ydl.downloaded_info_dicts[0]
- self.assertEqual(downloaded['format_id'], 'good')
-
- ydl = YDL({'format_limit': 'great', 'format': 'all'})
- ydl.process_ie_result(info_dict.copy())
- self.assertEqual(ydl.downloaded_info_dicts[0]['format_id'], 'meh')
- self.assertEqual(ydl.downloaded_info_dicts[1]['format_id'], 'good')
- self.assertEqual(ydl.downloaded_info_dicts[2]['format_id'], 'great')
- self.assertTrue('3' in ydl.msgs[0])
-
- ydl = YDL()
- ydl.params['format_limit'] = 'excellent'
- ydl.process_ie_result(info_dict.copy())
- downloaded = ydl.downloaded_info_dicts[0]
- self.assertEqual(downloaded['format_id'], 'excellent')
-
def test_format_selection(self):
formats = [
{'format_id': '35', 'ext': 'mp4', 'preference': 1, 'url': TEST_URL},
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index 0fdcf1b0b..977141881 100755
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -64,7 +64,6 @@ from .utils import (
sanitize_path,
std_headers,
subtitles_filename,
- takewhile_inclusive,
UnavailableVideoError,
url_basename,
version_tuple,
@@ -135,7 +134,6 @@ class YoutubeDL(object):
(or video) as a single JSON line.
simulate: Do not download the video files.
format: Video format code. See options.py for more information.
- format_limit: Highest quality format to try.
outtmpl: Template for output names.
restrictfilenames: Do not allow "&" and spaces in file names
ignoreerrors: Do not stop on download errors.
@@ -1068,12 +1066,6 @@ class YoutubeDL(object):
full_format_info.update(format)
format['http_headers'] = self._calc_headers(full_format_info)
- format_limit = self.params.get('format_limit', None)
- if format_limit:
- formats = list(takewhile_inclusive(
- lambda f: f['format_id'] != format_limit, formats
- ))
-
# TODO Central sorting goes here
if formats[0] is not info_dict:
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index d7759db68..c88489f29 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -283,7 +283,6 @@ def _real_main(argv=None):
'simulate': opts.simulate or any_getting,
'skip_download': opts.skip_download,
'format': opts.format,
- 'format_limit': opts.format_limit,
'listformats': opts.listformats,
'outtmpl': outtmpl,
'autonumber_size': opts.autonumber_size,
diff --git a/youtube_dl/options.py b/youtube_dl/options.py
index 39c38c980..4c9d39d9a 100644
--- a/youtube_dl/options.py
+++ b/youtube_dl/options.py
@@ -332,10 +332,6 @@ def parseOpts(overrideArguments=None):
action='store_true', dest='prefer_free_formats', default=False,
help='Prefer free video formats unless a specific one is requested')
video_format.add_option(
- '--max-quality',
- action='store', dest='format_limit', metavar='FORMAT',
- help='Highest quality format to download')
- video_format.add_option(
'-F', '--list-formats',
action='store_true', dest='listformats',
help='List all available formats')
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index edeee1853..c69d3e165 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -1109,15 +1109,6 @@ def shell_quote(args):
return ' '.join(quoted_args)
-def takewhile_inclusive(pred, seq):
- """ Like itertools.takewhile, but include the latest evaluated element
- (the first element so that Not pred(e)) """
- for e in seq:
- yield e
- if not pred(e):
- return
-
-
def smuggle_url(url, data):
""" Pass additional data in a URL for internal use. """