diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-12-06 12:32:27 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-12-06 12:32:59 +0000 |
| commit | e315a8360b5a312b9b692408473d942de94557d1 (patch) | |
| tree | 2e71949fb3ad7d33b5a9e1cb60655e0d47246654 /mammoth | |
| parent | 323aaa3aa2bcc03c9c46b173f33b9cdfac205e74 (diff) | |
Ensure Result.messages is always unique
Diffstat (limited to 'mammoth')
| -rw-r--r-- | mammoth/lists.py | 9 | ||||
| -rw-r--r-- | mammoth/results.py | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/mammoth/lists.py b/mammoth/lists.py index cf39b99..6e39ae0 100644 --- a/mammoth/lists.py +++ b/mammoth/lists.py @@ -14,6 +14,15 @@ def _collect(values, result): elif value is not None: result.append(value) +def unique(values): + output = [] + seen = set() + for value in values: + if value not in seen: + seen.add(value) + output.append(value) + return output + if sys.version_info[0] == 2: map = map diff --git a/mammoth/results.py b/mammoth/results.py index 9112296..59c3a42 100644 --- a/mammoth/results.py +++ b/mammoth/results.py @@ -1,10 +1,12 @@ import collections +from .lists import unique + class Result(object): def __init__(self, value, messages): self.value = value - self.messages = messages + self.messages = unique(messages) def map(self, func): return Result(func(self.value), self.messages) |
