Do not count unmatched videos for --max-downloads (Fixes #2211)
authorPhilipp Hagemeister <phihag@phihag.de>
Thu, 23 Jan 2014 17:56:36 +0000 (18:56 +0100)
committerPhilipp Hagemeister <phihag@phihag.de>
Thu, 23 Jan 2014 18:04:22 +0000 (19:04 +0100)
youtube_dl/YoutubeDL.py

index f30bc090addaea51b830214244ec7351ff19e6f3..f202ba4f0233172d5184e71a348c9dcfe652b4fb 100644 (file)
@@ -396,10 +396,6 @@ class YoutubeDL(object):
         except UnicodeEncodeError:
             self.to_screen('[download] The file has already been downloaded')
 
-    def increment_downloads(self):
-        """Increment the ordinal that assigns a number to each file."""
-        self._num_downloads += 1
-
     def prepare_filename(self, info_dict):
         """Generate the output filename."""
         try:
@@ -773,8 +769,11 @@ class YoutubeDL(object):
         """Process a single resolved IE result."""
 
         assert info_dict.get('_type', 'video') == 'video'
-        #We increment the download the download count here to match the previous behaviour.
-        self.increment_downloads()
+
+        max_downloads = self.params.get('max_downloads')
+        if max_downloads is not None:
+            if self._num_downloads >= int(max_downloads):
+                raise MaxDownloadsReached()
 
         info_dict['fulltitle'] = info_dict['title']
         if len(info_dict['title']) > 200:
@@ -791,10 +790,7 @@ class YoutubeDL(object):
             self.to_screen('[download] ' + reason)
             return
 
-        max_downloads = self.params.get('max_downloads')
-        if max_downloads is not None:
-            if self._num_downloads > int(max_downloads):
-                raise MaxDownloadsReached()
+        self._num_downloads += 1
 
         filename = self.prepare_filename(info_dict)