mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
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:
parent
ab2f9fd828
commit
be851ad39d
6 changed files with 37 additions and 37 deletions
|
@ -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):
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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"""
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue