[dak/master 10/23] Alter generate_reject_messages to return a generator.
Signed-off-by: Chris Lamb <lamby@debian.org>
---
daklib/lintian.py | 19 +++++--------------
tests/test_lintian.py | 3 ++-
2 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/daklib/lintian.py b/daklib/lintian.py
index 260474e..8e65d3f 100644
--- a/daklib/lintian.py
+++ b/daklib/lintian.py
@@ -16,11 +16,9 @@ def parse_lintian_output(output):
def generate_reject_messages(parsed_tags, tag_definitions, log=lambda *args: args):
"""
Generates package reject messages by comparing parsed lintian output with
- tag definitions.
+ tag definitions. Returns a generator containing the reject messages.
"""
- rejects = []
-
tags = set()
for values in tag_definitions.values():
for tag in values:
@@ -41,25 +39,18 @@ def generate_reject_messages(parsed_tags, tag_definitions, log=lambda *args: arg
# Overriding this tag is NOT allowed.
log('ftpmaster does not allow tag to be overridable', etag)
- rejects.append(
- "%s: Overriden tag %s found, but this tag "
+ yield "%s: Overriden tag %s found, but this tag " \
"may not be overridden." % (epackage, etag)
- )
else:
# Tag is known and not overridden; reject
- rejects.append(
- "%s: Found lintian output: '%s %s', automatically "
+ yield "%s: Found lintian output: '%s %s', automatically " \
"rejected package." % (epackage, etag, etext)
- )
# Now tell if they *might* override it.
if etag in tag_definitions['nonfatal']:
log("auto rejecting", "overridable", etag)
- rejects.append(
- "%s: If you have a good reason, you may override this "
- "lintian tag." % epackage)
+ yield "%s: If you have a good reason, you may override this " \
+ "lintian tag." % epackage
else:
log("auto rejecting", "not overridable", etag)
-
- return rejects
diff --git a/tests/test_lintian.py b/tests/test_lintian.py
index 27d1368..4a574a9 100755
--- a/tests/test_lintian.py
+++ b/tests/test_lintian.py
@@ -43,7 +43,8 @@ class ParseLintianTestCase(DakTestCase):
class GenerateRejectMessages(DakTestCase):
def assertNumReject(self, input, defs, num):
- self.assertEqual(len(generate_reject_messages(input, defs)), num)
+ msgs = list(generate_reject_messages(input, defs))
+ self.assertEqual(len(msgs), num)
def testUnknownTag(self):
self.assertNumReject(
--
1.6.3.3
Reply to: