commit:     afefcbc188ea25540d72224034668207d9f4e024
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Thu May  5 16:01:02 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu May  5 16:01:02 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=afefcbc1

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..81e435e 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, %s"
+                                       % (xpkg, error.line, error.type, 
error.message))
 
        @property
        def runInPkgs(self):

Reply via email to