:param path: A directory in which we should create the database.
:type path: str
- :returns: Nothing
:raises: :exc:`NotmuchError` in case of any failure
(possibly after printing an error message on stderr).
"""
:param status: Open the database in read-only or read-write mode
:type status: :attr:`MODE`
- :returns: Nothing
:raises: Raises :exc:`NotmuchError` in case of any failure
(possibly after printing an error message on stderr).
"""
"""
self._assert_db_is_initialized()
# sanity checking if path is valid, and make path absolute
- if path[0] == os.sep:
+ if path and path[0] == os.sep:
# we got an absolute path
if not path.startswith(self.get_path()):
# but its initial components are not equal to the db path
don't store a timestamp of 0 unless you are comfortable with
that.
- :param mtime: A (time_t) timestamp
- :returns: Nothing on success, raising an exception on failure.
- :raises: :exc:`NotmuchError`:
-
- :attr:`STATUS`.XAPIAN_EXCEPTION
- A Xapian exception occurred, mtime not stored.
- :attr:`STATUS`.READ_ONLY_DATABASE
- Database was opened in read-only mode so directory
- mtime cannot be modified.
- :attr:`STATUS`.NOT_INITIALIZED
- The directory has not been initialized
+ :param mtime: A (time_t) timestamp
+ :raises: :exc:`XapianError` a Xapian exception occurred, mtime
+ not stored
+ :raises: :exc:`ReadOnlyDatabaseError` the database was opened
+ in read-only mode so directory mtime cannot be modified
+ :raises: :exc:`NotInitializedError` the directory object has not
+ been initialized
"""
self._assert_dir_is_initialized()
- #TODO: make sure, we convert the mtime parameter to a 'c_long'
status = Directory._set_mtime(self._dir_p, mtime)
- #return on success
- if status == STATUS.SUCCESS:
- return
- #fail with Exception otherwise
- raise NotmuchError(status)
+ if status != STATUS.SUCCESS:
+ raise NotmuchError(status)
def get_mtime(self):
"""Gets the mtime value of this directory in the database
Retrieves a previously stored mtime for this directory.
:param mtime: A (time_t) timestamp
- :returns: Nothing on success, raising an exception on failure.
:raises: :exc:`NotmuchError`:
:attr:`STATUS`.NOT_INITIALIZED