On 28 May 2011 23:18, Patrick Totzke <patricktot...@googlemail.com> wrote:
> if r: #because we cant iterate on NoneType > I don't understand why, but this line sets r._msgs to None. So it crashes, because it has no message ids to look for. If you change it to if r is not None: ... then it works for me. Oh, I see, for your code, there is a implied call to __len__, and the __len__ function is completely broken for the reasons described in the documentation: .. note:: As this iterates over the messages, we will not be able to= iterate over them again! So this will fail:: #THIS FAILS msgs = Database().create_query('').search_message() if len(msgs) > 0: #this 'exhausts' msgs # next line raises NotmuchError(STATUS.NOT_INITIALIZED)!!! for msg in msgs: print msg Most of the time, using the :meth:`Query.count_messages` is therefore more appropriate (and much faster). While not guaranteeing that it will return the exact same number than len(), in my tests it effectively always did so. -- Brian May <br...@microcomaustralia.com.au>
_______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch