In MetadataRegen._metadata_exit(), notify the consumer of failures (in this
authorZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 06:50:34 +0000 (06:50 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 06:50:34 +0000 (06:50 -0000)
case the metadata argument is None). (trunk r13258)

svn path=/main/branches/2.1.6/; revision=13437

pym/_emerge/__init__.py

index de8b01cabea9c8d388df2a19d92a62e594abe5ef..a56eb03949214a63fcbf5a60dfb6c486b0ee0ccc 100644 (file)
@@ -11696,18 +11696,21 @@ class MetadataRegen(PollScheduler):
 
        def _metadata_exit(self, metadata_process):
                self._jobs -= 1
-               if metadata_process.returncode == os.EX_OK:
-                       if self._consumer is not None:
-                               self._consumer(metadata_process.cpv,
-                                       metadata_process.ebuild_path,
-                                       metadata_process.repo_path,
-                                       metadata_process.metadata)
-               else:
+               if metadata_process.returncode != os.EX_OK:
                        self.returncode = 1
                        self._error_count += 1
                        self._valid_pkgs.discard(metadata_process.cpv)
                        portage.writemsg("Error processing %s, continuing...\n" % \
                                (metadata_process.cpv,))
+
+               if self._consumer is not None:
+                       # On failure, still notify the consumer (in this case the metadata
+                       # argument is None).
+                       self._consumer(metadata_process.cpv,
+                               metadata_process.ebuild_path,
+                               metadata_process.repo_path,
+                               metadata_process.metadata)
+
                self._schedule()
 
 class UninstallFailure(portage.exception.PortageException):