X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fpython%2Fnotmuch%2Fmessages.py;h=3801c6664c2d0eaafaf9eaf8cddfea95f60addce;hp=e83455b96aa2410bb8fed74f83d183f3e596cc7b;hb=HEAD;hpb=5973881b771b4da489a365572152c44e21c329eb diff --git a/bindings/python/notmuch/messages.py b/bindings/python/notmuch/messages.py index e83455b9..3801c666 100644 --- a/bindings/python/notmuch/messages.py +++ b/bindings/python/notmuch/messages.py @@ -12,7 +12,7 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with notmuch. If not, see . +along with notmuch. If not, see . Copyright 2010 Sebastian Spaeth Jesse Rosenthal @@ -31,10 +31,8 @@ from .errors import ( from .tag import Tags from .message import Message -import sys - class Messages(object): - """Represents a list of notmuch messages + r"""Represents a list of notmuch messages This object provides an iterator over a list of notmuch messages (Technically, it provides a wrapper for the underlying @@ -102,7 +100,7 @@ class Messages(object): def __init__(self, msgs_p, parent=None): """ :param msgs_p: A pointer to an underlying *notmuch_messages_t* - structure. These are not publically exposed, so a user + structure. These are not publicly exposed, so a user will almost never instantiate a :class:`Messages` object herself. They are usually handed back as a result, e.g. in :meth:`Query.search_messages`. *msgs_p* must be @@ -191,87 +189,6 @@ class Messages(object): if self._msgs: self._destroy(self._msgs) - def format_messages(self, format, indent=0, entire_thread=False): - """Formats messages as needed for 'notmuch show'. - - :param format: A string of either 'text' or 'json'. - :param indent: A number indicating the reply depth of these messages. - :param entire_thread: A bool, indicating whether we want to output - whole threads or only the matching messages. - :return: a list of lines - - .. deprecated:: 0.14 - This code adds functionality at the python - level that is unlikely to be useful for - anyone. Furthermore the python bindings strive - to be a thin wrapper around libnotmuch, so - this code will be removed in notmuch 0.15. - """ - result = list() - - if format.lower() == "text": - set_start = "" - set_end = "" - set_sep = "" - elif format.lower() == "json": - set_start = "[" - set_end = "]" - set_sep = ", " - else: - raise TypeError("format must be either 'text' or 'json'") - - first_set = True - - result.append(set_start) - - # iterate through all toplevel messages in this thread - for msg in self: - # if not msg: - # break - if not first_set: - result.append(set_sep) - first_set = False - - result.append(set_start) - match = msg.is_match() - next_indent = indent - - if (match or entire_thread): - if format.lower() == "text": - result.append(msg.format_message_as_text(indent)) - else: - result.append(msg.format_message_as_json(indent)) - next_indent = indent + 1 - - # get replies and print them also out (if there are any) - replies = msg.get_replies().format_messages(format, next_indent, entire_thread) - if replies: - result.append(set_sep) - result.extend(replies) - - result.append(set_end) - result.append(set_end) - - return result - - def print_messages(self, format, indent=0, entire_thread=False, handle=sys.stdout): - """Outputs messages as needed for 'notmuch show' to a file like object. - - :param format: A string of either 'text' or 'json'. - :param handle: A file like object to print to (default is sys.stdout). - :param indent: A number indicating the reply depth of these messages. - :param entire_thread: A bool, indicating whether we want to output - whole threads or only the matching messages. - - .. deprecated:: 0.14 - This code adds functionality at the python - level that is unlikely to be useful for - anyone. Furthermore the python bindings strive - to be a thin wrapper around libnotmuch, so - this code will be removed in notmuch 0.15. - """ - handle.write(''.join(self.format_messages(format, indent, entire_thread))) - class EmptyMessagesResult(Messages): def __init__(self, parent): self._msgs = None