diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-12-01 13:56:31 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-12-01 13:56:31 +0000 |
| commit | e1c20f1facebc5bf3e56f6aa6f2d1ac9ff8dc7d8 (patch) | |
| tree | 16114ff0fb50875a9ac852e5355fabfae2236d61 /mammoth/results.py | |
| parent | b160de0cdd0ec662a64718ab796a51cd12924e13 (diff) | |
Emit warnings on unrecognised elements
Diffstat (limited to 'mammoth/results.py')
| -rw-r--r-- | mammoth/results.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mammoth/results.py b/mammoth/results.py index f735df7..ab29b25 100644 --- a/mammoth/results.py +++ b/mammoth/results.py @@ -1,4 +1,36 @@ +import collections + + class Result(object): def __init__(self, value, messages): self.value = value self.messages = messages + + def map(self, func): + return Result(func(self.value), self.messages) + + #~ def bind(self, func): + #~ result = func(self.value) + #~ return Result(result.value, self.messages + result.messages) + + +Message = collections.namedtuple("Message", ["type", "message"]) + + +def warning(message): + return Message("warning", message) + + +def success(value): + return Result(value, []) + + +def combine(results): + values = [] + messages = [] + for result in results: + values.append(result.value) + for message in result.messages: + messages.append(message) + + return Result(values, messages) |
