commit:     1f4d8908748dc59c362d655db3f6fe3b4c913476
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Thu May  5 16:04:54 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat May 14 18:29:40 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=1f4d8908

repoman/modules/.../pkgmetadata.py: Add code to remove mostly duplicate errors

Some types of errors produce two error messages cluttering up the output.
The first error message is clearer, listing the possible option values allowed.
This filters out the second error message for that same line and attribute.

 pym/repoman/modules/scan/metadata/pkgmetadata.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/pym/repoman/modules/scan/metadata/pkgmetadata.py 
b/pym/repoman/modules/scan/metadata/pkgmetadata.py
index d8344c2..433551a 100644
--- a/pym/repoman/modules/scan/metadata/pkgmetadata.py
+++ b/pym/repoman/modules/scan/metadata/pkgmetadata.py
@@ -221,11 +221,16 @@ class PkgMetadata(ScanBase, USEFlagChecks):
                return uselist
 
        def _add_validate_errors(self, xpkg, log):
+               listed = set()
                for error in log:
-                       self.qatracker.add_error(
-                               "metadata.bad",
-                               "%s/metadata.xml: line: %s, %s"
-                               % (xpkg, error.line, error.message))
+                       msg_prefix = error.message.split(":",1)[0]
+                       info = "%s %s" % (error.line, msg_prefix)
+                       if info not in listed:
+                               listed.add(info)
+                               self.qatracker.add_error(
+                                       "metadata.bad",
+                                       "%s/metadata.xml: line: %s, %s"
+                                       % (xpkg, error.line, error.message))
 
        @property
        def runInPkgs(self):

Reply via email to