diff options
Diffstat (limited to 'youtube_dl/downloader/external.py')
| -rw-r--r-- | youtube_dl/downloader/external.py | 15 | 
1 files changed, 12 insertions, 3 deletions
diff --git a/youtube_dl/downloader/external.py b/youtube_dl/downloader/external.py index 51c41c704..1673b2382 100644 --- a/youtube_dl/downloader/external.py +++ b/youtube_dl/downloader/external.py @@ -51,6 +51,13 @@ class ExternalFD(FileDownloader):              return []          return [command_option, source_address] +    def _configuration_args(self, default=[]): +        ex_args = self.params.get('external_downloader_args') +        if ex_args is None: +            return default +        assert isinstance(ex_args, list) +        return ex_args +      def _call_downloader(self, tmpfilename, info_dict):          """ Either overwrite this or implement _make_cmd """          cmd = self._make_cmd(tmpfilename, info_dict) @@ -79,6 +86,7 @@ class CurlFD(ExternalFD):          for key, val in info_dict['http_headers'].items():              cmd += ['--header', '%s: %s' % (key, val)]          cmd += self._source_address('--interface') +        cmd += self._configuration_args()          cmd += ['--', info_dict['url']]          return cmd @@ -89,15 +97,16 @@ class WgetFD(ExternalFD):          for key, val in info_dict['http_headers'].items():              cmd += ['--header', '%s: %s' % (key, val)]          cmd += self._source_address('--bind-address') +        cmd += self._configuration_args()          cmd += ['--', info_dict['url']]          return cmd  class Aria2cFD(ExternalFD):      def _make_cmd(self, tmpfilename, info_dict): -        cmd = [ -            self.exe, '-c', -            '--min-split-size', '1M', '--max-connection-per-server', '4'] +        cmd = [self.exe, '-c'] +        cmd += self._configuration_args([ +            '--min-split-size', '1M', '--max-connection-per-server', '4'])          dn = os.path.dirname(tmpfilename)          if dn:              cmd += ['--dir', dn]  | 
