python: Fix unsafe utf-8 decodings

This prevents unsafe calls to decode for return value None in
get_authors/get_subject which would current throw an Exception. Original
patch modified by Sebastian Spaeth.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
pazz 2011-08-16 22:37:47 +01:00 committed by Sebastian Spaeth
parent ee4579ad27
commit f10ec87cc3
2 changed files with 9 additions and 3 deletions

View file

@ -86,7 +86,7 @@ class Tags(object):
if not nmlib.notmuch_tags_valid(self._tags):
self._tags = None
raise StopIteration
tag = Tags._get(self._tags).decode('utf-8')
tag = Tags._get(self._tags).decode('UTF-8')
nmlib.notmuch_tags_move_to_next(self._tags)
return tag

View file

@ -292,7 +292,10 @@ class Thread(object):
"""
if self._thread is None:
raise NotmuchError(STATUS.NOT_INITIALIZED)
return Thread._get_authors(self._thread).decode('UTF-8')
authors = Thread._get_authors(self._thread)
if authors is None:
return None
return authors.decode('UTF-8')
def get_subject(self):
"""Returns the Subject of 'thread'
@ -302,7 +305,10 @@ class Thread(object):
"""
if self._thread is None:
raise NotmuchError(STATUS.NOT_INITIALIZED)
return Thread._get_subject(self._thread).decode('UTF-8')
subject = Thread._get_subject(self._thread)
if subject is None:
return None
return subject.decode('UTF-8')
def get_newest_date(self):
"""Returns time_t of the newest message date