aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2016-08-12 12:30:02 +0100
committerRemita Amine <remitamine@gmail.com>2016-08-12 12:30:02 +0100
commit98e698f1ff3fd467ff03e10a8f8881cd06345ca7 (patch)
tree4610c9fd83f452ede1c9e648255bc4806b70c65f /youtube_dl
parent3cddb8d6a776b09afd7f50772fa30cb536b1149a (diff)
[external/curl] respect more downloader options and display progress
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/downloader/external.py15
-rw-r--r--youtube_dl/utils.py2
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 []