From: Sebastian Spaeth Date: Tue, 9 Aug 2011 15:48:27 +0000 (+0200) Subject: python: remove Tags().__len__() implementation X-Git-Tag: 0.8_rc0~12 X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=dc6b2b438236ed89c624e9c0bb035cc8321149cc;p=notmuch python: remove Tags().__len__() implementation len() exhausts the tag iterator and e.g. list() or "".join(tags) implicitly call len() if existing and then failing. So, we remove Tags.__len__(). If you need to know the number of tags a message has, do use len(list(tags)). It would be nicer to be able to support len() directly... Signed-off-by: Sebastian Spaeth --- diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py index f79a1786..d6abf286 100644 --- a/bindings/python/notmuch/tag.py +++ b/bindings/python/notmuch/tag.py @@ -101,25 +101,6 @@ class Tags(object): left.""" return nmlib.notmuch_tags_valid(self._tags) > 0 - def __len__(self): - """len(:class:`Tags`) returns the number of contained tags - - .. note:: As this iterates over the tags, we will not be able - to iterate over them again (as in retrieve them)! If - the tags have been exhausted already, this will raise a - :exc:`NotmuchError` STATUS.NOT_INITIALIZED on - subsequent attempts. - """ - if self._tags is None: - raise NotmuchError(STATUS.NOT_INITIALIZED) - - i = 0 - while nmlib.notmuch_tags_valid(self._tags): - nmlib.notmuch_tags_move_to_next(self._tags) - i += 1 - self._tags = None - return i - def __str__(self): """The str() representation of Tags() is a space separated list of tags