Previously, the Filenames generator only yielded *one* filename before
returning, making Message.get_filenames() behave as Message.get_filename(). This
commit fixes this incorrect behavior: now the generator yields all the
filenames, as expected.
---
 bindings/python/notmuch/filename.py |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/bindings/python/notmuch/filename.py 
b/bindings/python/notmuch/filename.py
index 630886d..b44d4c5 100644
--- a/bindings/python/notmuch/filename.py
+++ b/bindings/python/notmuch/filename.py
@@ -82,13 +82,11 @@ class Filenames(object):
         if self._files is None:
             raise NotmuchError(STATUS.NOT_INITIALIZED)

-        if not nmlib.notmuch_filenames_valid(self._files):
-            self._files = None
-            return
+        while nmlib.notmuch_filenames_valid(self._files):
+            yield Filenames._get(self._files)
+            nmlib.notmuch_filenames_move_to_next(self._files)

-        file = Filenames._get(self._files)
-        nmlib.notmuch_filenames_move_to_next(self._files)
-        yield file
+        self._files = None

     def __str__(self):
         """Represent Filenames() as newline-separated list of full paths
-- 
1.7.6.4

Reply via email to