X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Fmessage.py;h=fe724a51302498c3684351fe8fbde6023c4b64cb;hp=fa6c58c36afab977bbee58b6762a2a676f550885;hb=ada246aa20c2f9b1e225bc50865e208d03296fc0;hpb=e32c8a5e6bcc7bdbf5e1a5800ac42e25dc8ca70e diff --git a/bindings/python/notmuch/message.py b/bindings/python/notmuch/message.py index fa6c58c3..fe724a51 100644 --- a/bindings/python/notmuch/message.py +++ b/bindings/python/notmuch/message.py @@ -234,10 +234,10 @@ class Messages(object): next_indent = indent + 1 # get replies and print them also out (if there are any) - replies = msg.get_replies() - if not replies is None: + replies = msg.get_replies().format_messages(format, next_indent, entire_thread) + if replies: result.append(set_sep) - result.extend(replies.format_messages(format, next_indent, entire_thread)) + result.extend(replies) result.append(set_end) result.append(set_end) @@ -255,6 +255,17 @@ class Messages(object): """ handle.write(''.join(self.format_messages(format, indent, entire_thread))) + +class EmptyMessagesResult(Messages): + def __init__(self, parent): + self._msgs = None + self._parent = parent + + def __next__(self): + raise StopIteration() + next = __next__ + + class Message(Python3StringMixIn): """Represents a single Email message @@ -385,10 +396,9 @@ class Message(Python3StringMixIn): number of subsequent calls to :meth:`get_replies`). If this message was obtained through some non-thread means, (such as by a call to :meth:`Query.search_messages`), then this function will return - `None`. + an empty Messages iterator. - :returns: :class:`Messages` or `None` if there are no replies to - this message. + :returns: :class:`Messages`. :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message is not initialized. """ @@ -398,7 +408,7 @@ class Message(Python3StringMixIn): msgs_p = Message._get_replies(self._msg) if msgs_p is None: - return None + return EmptyMessagesResult(self) return Messages(msgs_p, self)