[extractor/common] Simplify subtitles handling methods
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Tue, 17 Feb 2015 21:16:29 +0000 (22:16 +0100)
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Tue, 17 Feb 2015 21:16:29 +0000 (22:16 +0100)
Initially I was going to use a single method for handling both subtitles and automatic captions, that's why I used the 'list_subtitles' and the 'subtitles' variables.

youtube_dl/extractor/common.py

index fe7d8dbc9ea9331230ab0ae2fe28cc0069eab440..7d8ce18085758469e833c555d9dd675264600ae7 100644 (file)
@@ -1000,21 +1000,19 @@ class InfoExtractor(object):
         return not any_restricted
 
     def extract_subtitles(self, *args, **kwargs):
-        subtitles = {}
-        list_subtitles = self._downloader.params.get('listsubtitles')
-        if self._downloader.params.get('writesubtitles', False) or list_subtitles:
-            subtitles.update(self._get_subtitles(*args, **kwargs))
-        return subtitles
+        if (self._downloader.params.get('writesubtitles', False) or
+                self._downloader.params.get('listsubtitles')):
+            return self._get_subtitles(*args, **kwargs)
+        return {}
 
     def _get_subtitles(self, *args, **kwargs):
         raise NotImplementedError("This method must be implemented by subclasses")
 
     def extract_automatic_captions(self, *args, **kwargs):
-        automatic_captions = {}
-        list_subtitles = self._downloader.params.get('listsubtitles')
-        if self._downloader.params.get('writeautomaticsub', False) or list_subtitles:
-            automatic_captions.update(self._get_automatic_captions(*args, **kwargs))
-        return automatic_captions
+        if (self._downloader.params.get('writeautomaticsub', False) or
+                self._downloader.params.get('listsubtitles')):
+            return self._get_automatic_captions(*args, **kwargs)
+        return {}
 
     def _get_automatic_captions(self, *args, **kwargs):
         raise NotImplementedError("This method must be implemented by subclasses")