projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1283204
)
passing source address option to external downloaders
author
vijayanand nandam
<vijay@cybrilla.com>
Mon, 2 Feb 2015 15:21:40 +0000
(20:51 +0530)
committer
vijayanand nandam
<vijay@cybrilla.com>
Mon, 2 Feb 2015 15:21:40 +0000
(20:51 +0530)
youtube_dl/downloader/external.py
patch
|
blob
|
history
diff --git
a/youtube_dl/downloader/external.py
b/youtube_dl/downloader/external.py
index af9fdba7500e2cd14d7c571688249cdd8dd5c1a8..3d6554fe460c592b88fa62964edc788c10a12f27 100644
(file)
--- a/
youtube_dl/downloader/external.py
+++ b/
youtube_dl/downloader/external.py
@@
-45,6
+45,12
@@
class ExternalFD(FileDownloader):
def supports(cls, info_dict):
return info_dict['protocol'] in ('http', 'https', 'ftp', 'ftps')
def supports(cls, info_dict):
return info_dict['protocol'] in ('http', 'https', 'ftp', 'ftps')
+ def _source_address(self, command_option):
+ command_part = []
+ if self.ydl.params['source_address'] is not None:
+ command_part = [command_option, self.ydl.params['source_address']]
+ return command_part
+
def _call_downloader(self, tmpfilename, info_dict):
""" Either overwrite this or implement _make_cmd """
cmd = self._make_cmd(tmpfilename, info_dict)
def _call_downloader(self, tmpfilename, info_dict):
""" Either overwrite this or implement _make_cmd """
cmd = self._make_cmd(tmpfilename, info_dict)
@@
-72,6
+78,7
@@
class CurlFD(ExternalFD):
cmd = [self.exe, '-o', tmpfilename]
for key, val in info_dict['http_headers'].items():
cmd += ['--header', '%s: %s' % (key, val)]
cmd = [self.exe, '-o', tmpfilename]
for key, val in info_dict['http_headers'].items():
cmd += ['--header', '%s: %s' % (key, val)]
+ cmd += self._source_address('--interface')
cmd += ['--', info_dict['url']]
return cmd
cmd += ['--', info_dict['url']]
return cmd
@@
-81,6
+88,7
@@
class WgetFD(ExternalFD):
cmd = [self.exe, '-O', tmpfilename, '-nv', '--no-cookies']
for key, val in info_dict['http_headers'].items():
cmd += ['--header', '%s: %s' % (key, val)]
cmd = [self.exe, '-O', tmpfilename, '-nv', '--no-cookies']
for key, val in info_dict['http_headers'].items():
cmd += ['--header', '%s: %s' % (key, val)]
+ cmd += self._source_address('--bind-address')
cmd += ['--', info_dict['url']]
return cmd
cmd += ['--', info_dict['url']]
return cmd
@@
-96,6
+104,7
@@
class Aria2cFD(ExternalFD):
cmd += ['--out', os.path.basename(tmpfilename)]
for key, val in info_dict['http_headers'].items():
cmd += ['--header', '%s: %s' % (key, val)]
cmd += ['--out', os.path.basename(tmpfilename)]
for key, val in info_dict['http_headers'].items():
cmd += ['--header', '%s: %s' % (key, val)]
+ cmd += self._source_address('--interface')
cmd += ['--', info_dict['url']]
return cmd
cmd += ['--', info_dict['url']]
return cmd