python: more error handling fixes

This is a follow up commit to 221c7e0b38
fixing more NULL pointer checks.

Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
This commit is contained in:
Justus Winter 2012-02-19 00:36:15 +01:00
parent ab2f9fd828
commit be851ad39d
6 changed files with 37 additions and 37 deletions

View file

@ -159,7 +159,7 @@ class Database(object):
def _assert_db_is_initialized(self): def _assert_db_is_initialized(self):
"""Raises :exc:`NotInitializedError` if self._db is `None`""" """Raises :exc:`NotInitializedError` if self._db is `None`"""
if self._db is None: if not self._db:
raise NotInitializedError() raise NotInitializedError()
def create(self, path): def create(self, path):

View file

@ -89,7 +89,7 @@ class Filenames(Python3StringMixIn):
This is the main function that will usually be used by the This is the main function that will usually be used by the
user.""" user."""
if self._files is None: if not self._files:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
while self._valid(self._files): while self._valid(self._files):

View file

@ -135,7 +135,7 @@ class Messages(object):
:meth:`collect_tags` will iterate over the messages and therefore :meth:`collect_tags` will iterate over the messages and therefore
will not allow further iterations. will not allow further iterations.
""" """
if self._msgs is None: if not self._msgs:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
# collect all tags (returns NULL on error) # collect all tags (returns NULL on error)
@ -160,7 +160,7 @@ class Messages(object):
_move_to_next.restype = None _move_to_next.restype = None
def __next__(self): def __next__(self):
if self._msgs is None: if not self._msgs:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
if not self._valid(self._msgs): if not self._valid(self._msgs):
@ -362,7 +362,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._get_message_id(self._msg).decode('utf-8', 'ignore') return Message._get_message_id(self._msg).decode('utf-8', 'ignore')
@ -379,7 +379,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._get_thread_id(self._msg).decode('utf-8', 'ignore') return Message._get_thread_id(self._msg).decode('utf-8', 'ignore')
@ -402,7 +402,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
msgs_p = Message._get_replies(self._msg) msgs_p = Message._get_replies(self._msg)
@ -424,7 +424,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._get_date(self._msg) return Message._get_date(self._msg)
@ -447,7 +447,7 @@ class Message(Python3StringMixIn):
is not initialized. is not initialized.
* STATUS.NULL_POINTER if any error occured. * STATUS.NULL_POINTER if any error occured.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
#Returns NULL if any error occurs. #Returns NULL if any error occurs.
@ -463,7 +463,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._get_filename(self._msg).decode('utf-8', 'ignore') return Message._get_filename(self._msg).decode('utf-8', 'ignore')
@ -473,7 +473,7 @@ class Message(Python3StringMixIn):
Returns a Filenames() generator with all absolute filepaths for Returns a Filenames() generator with all absolute filepaths for
messages recorded to have the same Message-ID. These files must messages recorded to have the same Message-ID. These files must
not necessarily have identical content.""" not necessarily have identical content."""
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
files_p = Message._get_filenames(self._msg) files_p = Message._get_filenames(self._msg)
@ -493,7 +493,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._get_flag(self._msg, flag) return Message._get_flag(self._msg, flag)
@ -508,7 +508,7 @@ class Message(Python3StringMixIn):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
self._set_flag(self._msg, flag, value) self._set_flag(self._msg, flag, value)
@ -522,7 +522,7 @@ class Message(Python3StringMixIn):
is not initialized. is not initialized.
* STATUS.NULL_POINTER, on error * STATUS.NULL_POINTER, on error
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
tags_p = Message._get_tags(self._msg) tags_p = Message._get_tags(self._msg)
@ -565,7 +565,7 @@ class Message(Python3StringMixIn):
STATUS.NOT_INITIALIZED STATUS.NOT_INITIALIZED
The message has not been initialized. The message has not been initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
status = self._add_tag(self._msg, _str(tag)) status = self._add_tag(self._msg, _str(tag))
@ -613,7 +613,7 @@ class Message(Python3StringMixIn):
STATUS.NOT_INITIALIZED STATUS.NOT_INITIALIZED
The message has not been initialized. The message has not been initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
status = self._remove_tag(self._msg, _str(tag)) status = self._remove_tag(self._msg, _str(tag))
@ -654,7 +654,7 @@ class Message(Python3StringMixIn):
STATUS.NOT_INITIALIZED STATUS.NOT_INITIALIZED
The message has not been initialized. The message has not been initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
status = self._remove_all_tags(self._msg) status = self._remove_all_tags(self._msg)
@ -712,7 +712,7 @@ class Message(Python3StringMixIn):
STATUS.NOT_INITIALIZED STATUS.NOT_INITIALIZED
The message has not been initialized. The message has not been initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
status = self._freeze(self._msg) status = self._freeze(self._msg)
@ -751,7 +751,7 @@ class Message(Python3StringMixIn):
STATUS.NOT_INITIALIZED STATUS.NOT_INITIALIZED
The message has not been initialized. The message has not been initialized.
""" """
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
status = self._thaw(self._msg) status = self._thaw(self._msg)
@ -787,7 +787,7 @@ class Message(Python3StringMixIn):
:returns: a :class:`STATUS` value. In short, you want to see :returns: a :class:`STATUS` value. In short, you want to see
notmuch.STATUS.SUCCESS here. See there for details.""" notmuch.STATUS.SUCCESS here. See there for details."""
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._tags_to_maildir_flags(self._msg) return Message._tags_to_maildir_flags(self._msg)
@ -814,7 +814,7 @@ class Message(Python3StringMixIn):
:returns: a :class:`STATUS`. In short, you want to see :returns: a :class:`STATUS`. In short, you want to see
notmuch.STATUS.SUCCESS here. See there for details.""" notmuch.STATUS.SUCCESS here. See there for details."""
if self._msg is None: if not self._msg:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Message._tags_to_maildir_flags(self._msg) return Message._tags_to_maildir_flags(self._msg)
@ -957,7 +957,7 @@ class Message(Python3StringMixIn):
def __hash__(self): def __hash__(self):
"""Implement hash(), so we can use Message() sets""" """Implement hash(), so we can use Message() sets"""
file = self.get_filename() file = self.get_filename()
if file is None: if not file:
return None return None
return hash(file) return hash(file)

View file

@ -70,7 +70,7 @@ class Query(object):
def _assert_query_is_initialized(self): def _assert_query_is_initialized(self):
"""Raises :exc:`NotInitializedError` if self._query is `None`""" """Raises :exc:`NotInitializedError` if self._query is `None`"""
if self._query is None: if not self._query:
raise NotInitializedError() raise NotInitializedError()
"""notmuch_query_create""" """notmuch_query_create"""

View file

@ -90,7 +90,7 @@ class Tags(Python3StringMixIn):
_move_to_next.restype = None _move_to_next.restype = None
def __next__(self): def __next__(self):
if self._tags is None: if not self._tags:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
if not self._valid(self._tags): if not self._valid(self._tags):
self._tags = None self._tags = None

View file

@ -117,7 +117,7 @@ class Threads(Python3StringMixIn):
_move_to_next.restype = None _move_to_next.restype = None
def __next__(self): def __next__(self):
if self._threads is None: if not self._threads:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
if not self._valid(self._threads): if not self._valid(self._threads):
@ -141,7 +141,7 @@ class Threads(Python3StringMixIn):
# next line raises NotmuchError(STATUS.NOT_INITIALIZED)!!! # next line raises NotmuchError(STATUS.NOT_INITIALIZED)!!!
for thread in threads: print thread for thread in threads: print thread
""" """
if self._threads is None: if not self._threads:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
i = 0 i = 0
@ -244,7 +244,7 @@ class Thread(object):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread
is not initialized. is not initialized.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Thread._get_thread_id(self._thread).decode('utf-8', 'ignore') return Thread._get_thread_id(self._thread).decode('utf-8', 'ignore')
@ -261,7 +261,7 @@ class Thread(object):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread
is not initialized. is not initialized.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return self._get_total_messages(self._thread) return self._get_total_messages(self._thread)
@ -284,7 +284,7 @@ class Thread(object):
* STATUS.NOT_INITIALIZED if query is not inited * STATUS.NOT_INITIALIZED if query is not inited
* STATUS.NULL_POINTER if search_messages failed * STATUS.NULL_POINTER if search_messages failed
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
msgs_p = Thread._get_toplevel_messages(self._thread) msgs_p = Thread._get_toplevel_messages(self._thread)
@ -307,7 +307,7 @@ class Thread(object):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread
is not initialized. is not initialized.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return self._get_matched_messages(self._thread) return self._get_matched_messages(self._thread)
@ -321,10 +321,10 @@ class Thread(object):
The returned string belongs to 'thread' and will only be valid for The returned string belongs to 'thread' and will only be valid for
as long as this Thread() is not deleted. as long as this Thread() is not deleted.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
authors = Thread._get_authors(self._thread) authors = Thread._get_authors(self._thread)
if authors is None: if not authors:
return None return None
return authors.decode('UTF-8', 'ignore') return authors.decode('UTF-8', 'ignore')
@ -334,10 +334,10 @@ class Thread(object):
The returned string belongs to 'thread' and will only be valid for The returned string belongs to 'thread' and will only be valid for
as long as this Thread() is not deleted. as long as this Thread() is not deleted.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
subject = Thread._get_subject(self._thread) subject = Thread._get_subject(self._thread)
if subject is None: if not subject:
return None return None
return subject.decode('UTF-8', 'ignore') return subject.decode('UTF-8', 'ignore')
@ -349,7 +349,7 @@ class Thread(object):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Thread._get_newest_date(self._thread) return Thread._get_newest_date(self._thread)
@ -361,7 +361,7 @@ class Thread(object):
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized. is not initialized.
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
return Thread._get_oldest_date(self._thread) return Thread._get_oldest_date(self._thread)
@ -384,7 +384,7 @@ class Thread(object):
is not initialized. is not initialized.
* STATUS.NULL_POINTER, on error * STATUS.NULL_POINTER, on error
""" """
if self._thread is None: if not self._thread:
raise NotmuchError(STATUS.NOT_INITIALIZED) raise NotmuchError(STATUS.NOT_INITIALIZED)
tags_p = Thread._get_tags(self._thread) tags_p = Thread._get_tags(self._thread)