2010-04-19 21:25:05 +02:00
.. notmuch documentation master file, created by
2010-03-16 20:36:04 +01:00
sphinx-quickstart on Tue Feb 2 10:00:47 2010.
2010-04-19 21:25:05 +02:00
.. currentmodule :: notmuch
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
Welcome to :mod: `notmuch` 's documentation
2010-03-17 12:32:22 +01:00
===========================================
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
The :mod: `notmuch` module provides an interface to the `notmuch <http://notmuchmail.org> `_ functionality, directly interfacing to a shared notmuch library.
Within :mod: `notmuch` , the classes :class: `Database` , :class: `Query` provide most of the core functionality, returning :class: `Threads` , :class: `Messages` and :class: `Tags` .
2010-03-16 20:36:04 +01:00
.. moduleauthor :: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-03-16 20:54:43 +01:00
:License: This module is covered under the GNU GPL v3 (or later).
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
This page contains the main API overview of notmuch |release|.
2010-03-16 20:54:43 +01:00
2010-03-17 12:32:22 +01:00
Notmuch can be imported as::
2010-03-16 20:54:43 +01:00
2010-04-19 21:25:05 +02:00
import notmuch
2010-03-16 20:54:43 +01:00
2010-03-17 12:32:22 +01:00
or::
2010-03-16 20:54:43 +01:00
2010-04-19 21:25:05 +02:00
from notmuch import Query,Database
2010-03-16 20:36:04 +01:00
2010-03-24 11:05:54 +01:00
More information on specific topics can be found on the following pages:
2010-03-16 20:36:04 +01:00
.. toctree ::
:maxdepth: 1
2010-03-24 11:05:54 +01:00
notmuch
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
:mod: `notmuch` -- The Notmuch interface
2010-03-25 14:28:56 +01:00
=================================================
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
.. automodule :: notmuch
2010-03-17 12:32:22 +01:00
:todo: Document nmlib,STATUS
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
:class: `notmuch.Database` -- The underlying notmuch database
2010-03-25 14:28:56 +01:00
---------------------------------------------------------------------
2010-03-16 20:54:43 +01:00
2010-04-19 21:25:05 +02:00
.. autoclass :: notmuch.Database([path=None[, create=False[, mode=MODE.READ_ONLY]]])
2010-03-17 11:45:13 +01:00
.. automethod :: create
.. automethod :: open(path, status=MODE.READ_ONLY)
.. automethod :: get_path
2010-03-18 08:50:48 +01:00
.. automethod :: get_version
.. automethod :: needs_upgrade
.. automethod :: upgrade
.. automethod :: get_directory
.. automethod :: add_message
.. automethod :: remove_message
2010-03-17 11:45:13 +01:00
.. automethod :: find_message
.. automethod :: get_all_tags
2010-03-19 10:55:06 +01:00
.. automethod :: create_query
2010-03-17 11:45:13 +01:00
2010-03-24 11:05:54 +01:00
.. note :: :meth: `create_query` was broken in release
0.1 and is fixed since 0.1.1.
2010-03-17 11:45:13 +01:00
.. attribute :: Database.MODE
Defines constants that are used as the mode in which to open a database.
2010-03-17 12:32:22 +01:00
MODE.READ_ONLY
2010-03-17 11:45:13 +01:00
Open the database in read-only mode
2010-03-17 12:32:22 +01:00
MODE.READ_WRITE
2010-03-17 11:45:13 +01:00
Open the database in read-write mode
.. autoattribute :: db_p
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
:class: `notmuch.Query` -- A search query
2010-03-25 14:28:56 +01:00
-------------------------------------------------
2010-03-16 20:36:04 +01:00
2010-04-19 21:25:05 +02:00
.. autoclass :: notmuch.Query
2010-03-17 15:14:44 +01:00
.. automethod :: create
.. attribute :: Query.SORT
Defines constants that are used as the mode in which to open a database.
SORT.OLDEST_FIRST
Sort by message date, oldest first.
SORT.NEWEST_FIRST
Sort by message date, newest first.
SORT.MESSAGE_ID
2010-04-23 13:37:08 +02:00
Sort by email message ID.
SORT.UNSORTED
Do not apply a special sort order (returns results in document id
order).
2010-03-17 15:14:44 +01:00
.. automethod :: set_sort
2010-03-24 11:05:54 +01:00
.. attribute :: sort
Instance attribute :attr: `sort` contains the sort order (see
:attr: `Query.SORT` ) if explicitely specified via
:meth: `set_sort` . By default it is set to `None` .
2010-03-18 09:02:59 +01:00
.. automethod :: search_threads
2010-03-17 15:14:44 +01:00
.. automethod :: search_messages
2010-03-16 20:36:04 +01:00
2010-03-18 09:02:59 +01:00
.. automethod :: count_messages
2010-03-24 17:18:33 +01:00
2010-03-16 20:54:43 +01:00
:class: `Messages` -- A bunch of messages
----------------------------------------
.. autoclass :: Messages
2010-03-17 15:14:44 +01:00
.. automethod :: collect_tags
.. automethod :: __len__
2010-03-16 20:54:43 +01:00
:class: `Message` -- A single message
----------------------------------------
.. autoclass :: Message
2010-03-17 17:09:58 +01:00
.. automethod :: get_message_id
2010-03-18 09:02:59 +01:00
.. automethod :: get_thread_id
2010-03-17 17:09:58 +01:00
2010-03-18 09:02:59 +01:00
.. automethod :: get_replies
2010-03-17 17:09:58 +01:00
.. automethod :: get_filename
2011-06-02 09:20:56 +02:00
.. automethod :: get_filenames
2010-03-25 08:39:21 +01:00
.. attribute :: FLAG
FLAG.MATCH
This flag is automatically set by a
Query.search_threads on those messages that match the
query. This allows us to distinguish matches from the rest
of the messages in that thread.
.. automethod :: get_flag
2010-03-18 09:02:59 +01:00
.. automethod :: set_flag
.. automethod :: get_date
.. automethod :: get_header
2010-03-17 17:09:58 +01:00
.. automethod :: get_tags
.. automethod :: remove_tag
.. automethod :: add_tag
2010-03-18 09:02:59 +01:00
.. automethod :: remove_all_tags
.. automethod :: freeze
.. automethod :: thaw
2010-03-17 17:09:58 +01:00
.. automethod :: format_as_text
.. automethod :: __str__
2010-03-16 20:54:43 +01:00
2010-03-24 17:18:33 +01:00
2010-03-17 15:14:44 +01:00
:class: `Tags` -- Notmuch tags
-----------------------------
2010-03-16 20:36:04 +01:00
2010-03-16 20:54:43 +01:00
.. autoclass :: Tags
2010-03-16 20:36:04 +01:00
:members:
2010-03-17 15:14:44 +01:00
.. automethod :: __len__
2010-03-16 20:36:04 +01:00
2010-03-17 15:14:44 +01:00
.. automethod :: __str__
2010-03-16 20:36:04 +01:00
2010-03-24 11:05:54 +01:00
2010-04-19 21:25:05 +02:00
:class: `notmuch.Threads` -- Threads iterator
2010-03-25 14:28:56 +01:00
-----------------------------------------------------
2010-03-18 09:02:59 +01:00
2010-04-19 21:25:05 +02:00
.. autoclass :: notmuch.Threads
2010-03-24 11:05:54 +01:00
.. automethod :: __len__
.. automethod :: __str__
2010-03-18 09:02:59 +01:00
:class: `Thread` -- A single thread
------------------------------------
2010-03-24 11:05:54 +01:00
.. autoclass :: Thread
.. automethod :: get_thread_id
.. automethod :: get_total_messages
.. automethod :: get_toplevel_messages
.. automethod :: get_matched_messages
.. automethod :: get_authors
.. automethod :: get_subject
.. automethod :: get_oldest_date
.. automethod :: get_newest_date
.. automethod :: get_tags
.. automethod :: __str__
2010-03-18 09:02:59 +01:00
2010-03-24 17:18:33 +01:00
2010-03-18 09:02:59 +01:00
:class: `Filenames` -- An iterator over filenames
------------------------------------------------
2010-04-19 21:25:05 +02:00
.. autoclass :: notmuch.database.Filenames
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
.. automethod :: notmuch.database.Filenames.__len__
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
:class: `notmuch.database.Directoy` -- A directory entry in the database
2010-03-25 14:28:56 +01:00
------------------------------------------------------------------------
2010-03-18 09:02:59 +01:00
2010-04-19 21:25:05 +02:00
.. autoclass :: notmuch.database.Directory
2010-03-18 09:02:59 +01:00
2010-04-19 21:25:05 +02:00
.. automethod :: notmuch.database.Directory.get_child_files
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
.. automethod :: notmuch.database.Directory.get_child_directories
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
.. automethod :: notmuch.database.Directory.get_mtime
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
.. automethod :: notmuch.database.Directory.set_mtime
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
.. autoattribute :: notmuch.database.Directory.mtime
2010-03-25 14:28:56 +01:00
2010-04-19 21:25:05 +02:00
.. autoattribute :: notmuch.database.Directory.path
2010-03-18 09:02:59 +01:00
2010-03-16 20:36:04 +01:00
:exc: `NotmuchError` -- A Notmuch execution error
------------------------------------------------
.. autoexception :: NotmuchError
:members:
This execption inherits directly from :exc: `Exception` and is raised on errors during the notmuch execution.
2010-03-17 11:45:13 +01:00
:class: `STATUS` -- Notmuch operation return status
--------------------------------------------------
2010-03-18 09:02:59 +01:00
2010-03-25 14:28:56 +01:00
.. data :: STATUS
STATUS is a class, whose attributes provide constants that serve as return indicators for notmuch functions. Currently the following ones are defined. For possible return values and specific meaning for each method, see the method description.
* SUCCESS
* OUT_OF_MEMORY
* READ_ONLY_DATABASE
* XAPIAN_EXCEPTION
* FILE_ERROR
* FILE_NOT_EMAIL
* DUPLICATE_MESSAGE_ID
* NULL_POINTER
* TAG_TOO_LONG
* UNBALANCED_FREEZE_THAW
* NOT_INITIALIZED
2010-03-17 11:45:13 +01:00
2010-03-16 20:36:04 +01:00
Indices and tables
==================
* :ref: `genindex`
* :ref: `search`