[postprocessor/common] Improve postprocessor args fetching and clarify doc
authorSergey M․ <dstftw@gmail.com>
Sat, 11 Jul 2015 16:41:33 +0000 (22:41 +0600)
committerSergey M․ <dstftw@gmail.com>
Sat, 11 Jul 2015 16:41:33 +0000 (22:41 +0600)
youtube_dl/postprocessor/common.py

index bee64c45772ed545e925c831637c39fcf001ea18..4191d040bb1da468e248d57b78df1afdacf64cd0 100644 (file)
@@ -22,14 +22,15 @@ class PostProcessor(object):
     of the chain is reached.
 
     PostProcessor objects follow a "mutual registration" process similar
-    to InfoExtractor objects. And it can receive parameters from CLI trough
-    --postprocessor-args.
+    to InfoExtractor objects.
+
+    Optionally PostProcessor can use a list of additional command-line arguments
+    with self._configuration_args.
     """
 
     _downloader = None
 
     def __init__(self, downloader=None):
-        self._extra_cmd_args = downloader.params.get('postprocessor_args')
         self._downloader = downloader
 
     def set_downloader(self, downloader):
@@ -59,6 +60,13 @@ class PostProcessor(object):
         except Exception:
             self._downloader.report_warning(errnote)
 
+    def _configuration_args(self, default=[]):
+        pp_args = self._downloader.params.get('postprocessor_args')
+        if pp_args is None:
+            return default
+        assert isinstance(pp_args, list)
+        return pp_args
+
 
 class AudioConversionError(PostProcessingError):
     pass