aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/downloader/common.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2015-01-24 01:38:48 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2015-01-24 01:38:48 +0100
commit222516d97d5ff9e62f3a9860fe2e65aa99c001b3 (patch)
treeaefcc3ec30eb99616bde4d5c50a2f8ac2734704b /youtube_dl/downloader/common.py
parenta055469fafe088b6aa0e569d989cbf7f70535951 (diff)
downloadyoutube-dl-222516d97d5ff9e62f3a9860fe2e65aa99c001b3.tar.xz
[downloader] Lay groundwork for external downloaders.
This comes with a very simply implementation for wget; the real work is in setting up the infrastructure.
Diffstat (limited to 'youtube_dl/downloader/common.py')
-rw-r--r--youtube_dl/downloader/common.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/youtube_dl/downloader/common.py b/youtube_dl/downloader/common.py
index 82c917d92..c35c42c1d 100644
--- a/youtube_dl/downloader/common.py
+++ b/youtube_dl/downloader/common.py
@@ -325,3 +325,24 @@ class FileDownloader(object):
# See YoutubeDl.py (search for progress_hooks) for a description of
# this interface
self._progress_hooks.append(ph)
+
+ def _debug_cmd(self, args, subprocess_encoding, exe=None):
+ if not self.params.get('verbose', False):
+ return
+
+ if exe is None:
+ exe = os.path.basename(args[0])
+
+ if subprocess_encoding:
+ str_args = [
+ a.decode(subprocess_encoding) if isinstance(a, bytes) else a
+ for a in args]
+ else:
+ str_args = args
+ try:
+ import pipes
+ shell_quote = lambda args: ' '.join(map(pipes.quote, str_args))
+ except ImportError:
+ shell_quote = repr
+ self.to_screen('[debug] %s command line: %s' % (
+ exe, shell_quote(str_args)))