diff options
author | Remita Amine <remitamine@gmail.com> | 2016-08-12 12:30:02 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2016-08-12 12:30:02 +0100 |
commit | 98e698f1ff3fd467ff03e10a8f8881cd06345ca7 (patch) | |
tree | 4610c9fd83f452ede1c9e648255bc4806b70c65f | |
parent | 3cddb8d6a776b09afd7f50772fa30cb536b1149a (diff) |
[external/curl] respect more downloader options and display progress
-rw-r--r-- | youtube_dl/downloader/external.py | 15 | ||||
-rw-r--r-- | youtube_dl/utils.py | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/youtube_dl/downloader/external.py b/youtube_dl/downloader/external.py index fae245024..f0c30007f 100644 --- a/youtube_dl/downloader/external.py +++ b/youtube_dl/downloader/external.py @@ -96,6 +96,12 @@ class CurlFD(ExternalFD): cmd = [self.exe, '--location', '-o', tmpfilename] for key, val in info_dict['http_headers'].items(): cmd += ['--header', '%s: %s' % (key, val)] + cmd += self._bool_option('--continue-at', 'continuedl', '-', '0') + cmd += self._valueless_option('--silent', 'noprogress') + cmd += self._valueless_option('--verbose', 'verbose') + cmd += self._option('--limit-rate', 'ratelimit') + cmd += self._option('--retry', 'retries') + cmd += self._option('--max-filesize', 'max_filesize') cmd += self._option('--interface', 'source_address') cmd += self._option('--proxy', 'proxy') cmd += self._valueless_option('--insecure', 'nocheckcertificate') @@ -103,6 +109,15 @@ class CurlFD(ExternalFD): cmd += ['--', info_dict['url']] return cmd + def _call_downloader(self, tmpfilename, info_dict): + cmd = [encodeArgument(a) for a in self._make_cmd(tmpfilename, info_dict)] + + self._debug_cmd(cmd) + + p = subprocess.Popen(cmd) + p.communicate() + return p.returncode + class AxelFD(ExternalFD): AVAILABLE_OPT = '-V' diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index a03f7184d..b3b687a31 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -2410,6 +2410,8 @@ def dfxp2srt(dfxp_data): def cli_option(params, command_option, param): param = params.get(param) + if param: + param = compat_str(param) return [command_option, param] if param is not None else [] |