summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-11-02 18:48:13 +0200
committerLars Wirzenius <liw@liw.fi>2015-11-02 18:48:13 +0200
commitea3b43aa7d7e37ecff31bb5b9114affc10d9b311 (patch)
tree58dd52f6763f64d234b43e47063af75f7d7151cc
parent3e87ae5c8ced6d78aea6a37a4caa403909e71051 (diff)
downloadobnam-ea3b43aa7d7e37ecff31bb5b9114affc10d9b311.tar.gz
Make find-all-obnam-errors not print duplicates
Also, sort output by class name.
-rwxr-xr-xfind-all-obnam-errors19
1 files changed, 13 insertions, 6 deletions
diff --git a/find-all-obnam-errors b/find-all-obnam-errors
index d739499a..602ae990 100755
--- a/find-all-obnam-errors
+++ b/find-all-obnam-errors
@@ -75,11 +75,18 @@ template = '''\
{id} ({class_name}): {msg}
'''
+error_classes = set()
for module in set(all_modules):
for error_class in get_obnam_errors(module):
- e = error_class()
- print template.format(
- class_name=error_class.__name__,
- id=e.id,
- msg=e.msg,
- ),
+ error_classes.add(error_class)
+
+def class_name(error_class):
+ return error_class.__name__
+
+for error_class in sorted(error_classes, key=class_name):
+ e = error_class()
+ print template.format(
+ class_name=class_name(error_class),
+ id=e.id,
+ msg=e.msg,
+ ),