]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/python/notmuch/filename.py
python: improve Query.count_messages docstring
[notmuch] / bindings / python / notmuch / filename.py
index a7cd7e63d44bf03076b5e21087e77ae425761a7a..469b6a5a97640a463d9d8625ff21078271107181 100644 (file)
@@ -18,10 +18,10 @@ Copyright 2010 Sebastian Spaeth <Sebastian@SSpaeth.de>'
 """
 from ctypes import c_char_p
 from notmuch.globals import (nmlib, STATUS, NotmuchError,
 """
 from ctypes import c_char_p
 from notmuch.globals import (nmlib, STATUS, NotmuchError,
-    NotmuchFilenamesP, NotmuchMessageP)
+    NotmuchFilenamesP, NotmuchMessageP, Python3StringMixIn)
 
 
 
 
-class Filenames(object):
+class Filenames(Python3StringMixIn):
     """Represents a list of filenames as returned by notmuch
 
     This object contains the Filenames iterator. The main function is
     """Represents a list of filenames as returned by notmuch
 
     This object contains the Filenames iterator. The main function is
@@ -69,7 +69,7 @@ class Filenames(object):
              reference to it, so we can automatically delete the db object
              once all derived objects are dead.
         """
              reference to it, so we can automatically delete the db object
              once all derived objects are dead.
         """
-        if files_p is None:
+        if not files_p:
             raise NotmuchError(STATUS.NULL_POINTER)
 
         self._files = files_p
             raise NotmuchError(STATUS.NULL_POINTER)
 
         self._files = files_p
@@ -93,14 +93,11 @@ class Filenames(object):
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         while self._valid(self._files):
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         while self._valid(self._files):
-            yield Filenames._get(self._files)
+            yield Filenames._get(self._files).decode('utf-8', 'ignore')
             self._move_to_next(self._files)
 
         self._files = None
 
             self._move_to_next(self._files)
 
         self._files = None
 
-    def __str__(self):
-        return unicode(self).encode('utf-8')
-
     def __unicode__(self):
         """Represent Filenames() as newline-separated list of full paths
 
     def __unicode__(self):
         """Represent Filenames() as newline-separated list of full paths