]> git.notmuchmail.org Git - notmuch/blob - docs/source/index.rst
4a6c574bdc85a8e1952be76f29b16d8fc8f7b5b2
[notmuch] / docs / source / index.rst
1 .. cnotmuch documentation master file, created by
2    sphinx-quickstart on Tue Feb  2 10:00:47 2010.
3
4 .. currentmodule:: cnotmuch
5
6 Welcome to :mod:`cnotmuch`'s documentation
7 ===========================================
8
9 The :mod:`cnotmuch` module provides an interface to the `notmuch <http://notmuchmail.org>`_ functionality, directly interfacing to a shared notmuch library.
10 The classes :class:`notmuch.Database`, :class:`notmuch.Query` provide most of the core functionality, returning :class:`notmuch.Threads`, :class:`notmuch.Messages` and :class:`notmuch.Tags`.
11
12 .. moduleauthor:: Sebastian Spaeth <Sebastian@SSpaeth.de>
13
14 :License: This module is covered under the GNU GPL v3 (or later).
15
16 This page contains the main API overview of cnotmuch |release|. 
17
18 Notmuch can be imported as::
19
20  from cnotmuch import notmuch
21
22 or::
23
24  from cnotmuch.notmuch import Query,Database
25
26 More information on specific topics can be found on the following pages:
27
28 .. toctree::
29    :maxdepth: 1
30
31    notmuch   
32
33 :mod:`notmuch` -- The Notmuch interface
34 =============================================
35
36 .. automodule:: cnotmuch.notmuch
37
38 :todo: Document nmlib,STATUS
39
40 :class:`Database` -- The underlying notmuch database
41 -----------------------------------------------------
42
43 .. autoclass:: Database([path=None[, create=False[, mode=MODE.READ_ONLY]]])
44
45    .. automethod:: create
46
47    .. automethod:: open(path, status=MODE.READ_ONLY)
48
49    .. automethod:: get_path
50
51    .. automethod:: get_version
52
53    .. automethod:: needs_upgrade
54
55    .. automethod:: upgrade
56
57    .. automethod:: get_directory
58
59    .. automethod:: add_message
60
61    .. automethod:: remove_message
62
63    .. automethod:: find_message
64
65    .. automethod:: get_all_tags
66
67    .. automethod:: create_query
68
69    .. note:: :meth:`create_query` was broken in release
70              0.1 and is fixed since 0.1.1.
71
72    .. attribute:: Database.MODE
73
74      Defines constants that are used as the mode in which to open a database.
75
76      MODE.READ_ONLY
77        Open the database in read-only mode
78
79      MODE.READ_WRITE
80        Open the database in read-write mode
81
82    .. autoattribute:: db_p
83
84 :class:`Query` -- A search query
85 -----------------------------------------------
86
87 .. autoclass:: Query
88
89    .. automethod:: create
90
91    .. attribute:: Query.SORT
92
93      Defines constants that are used as the mode in which to open a database.
94
95      SORT.OLDEST_FIRST
96        Sort by message date, oldest first.
97
98      SORT.NEWEST_FIRST
99        Sort by message date, newest first.
100
101      SORT.MESSAGE_ID
102        Sort by email message ID
103
104    .. automethod:: set_sort
105
106    .. attribute::  sort
107
108       Instance attribute :attr:`sort` contains the sort order (see
109       :attr:`Query.SORT`) if explicitely specified via
110       :meth:`set_sort`. By default it is set to `None`.
111
112    .. automethod:: search_threads
113
114    .. automethod:: search_messages
115
116    .. automethod:: count_messages
117
118 .. #############################################
119 .. currentmodule:: cnotmuch.message
120
121 :class:`Messages` -- A bunch of messages
122 ----------------------------------------
123
124 .. autoclass:: Messages
125
126    .. automethod:: collect_tags
127
128    .. automethod:: __len__
129
130 :class:`Message` -- A single message
131 ----------------------------------------
132
133 .. autoclass:: Message
134
135    .. automethod:: get_message_id
136
137    .. automethod:: get_thread_id
138
139    .. automethod:: get_replies
140
141    .. automethod:: get_filename
142
143    .. automethod:: get_flag
144
145    .. automethod:: set_flag
146    
147    .. automethod:: get_date
148
149    .. automethod:: get_header
150
151    .. automethod:: get_tags
152
153    .. automethod:: remove_tag
154
155    .. automethod:: add_tag
156
157    .. automethod:: remove_all_tags
158
159    .. automethod:: freeze
160
161    .. automethod:: thaw
162
163    .. automethod:: format_as_text
164
165    .. automethod:: __str__
166
167 .. #############################################
168 .. currentmodule:: cnotmuch.tag
169
170 :class:`Tags` -- Notmuch tags
171 -----------------------------
172
173 .. autoclass:: Tags
174    :members:
175
176    .. automethod:: __len__
177
178    .. automethod:: __str__
179
180
181 .. #############################################
182 .. currentmodule:: cnotmuch.thread
183
184 :class:`Threads` -- Threads iterator
185 ------------------------------------
186
187 .. autoclass:: Threads
188
189    .. automethod:: __len__
190
191    .. automethod:: __str__
192
193 :class:`Thread` -- A single thread
194 ------------------------------------
195
196 .. autoclass:: Thread
197
198   .. automethod:: get_thread_id
199
200   .. automethod:: get_total_messages
201
202   .. automethod:: get_toplevel_messages
203
204   .. automethod:: get_matched_messages
205
206   .. automethod:: get_authors
207
208   .. automethod:: get_subject
209
210   .. automethod:: get_oldest_date
211
212   .. automethod:: get_newest_date
213
214   .. automethod:: get_tags
215
216   .. automethod:: __str__
217
218 .. #############################################
219 .. currentmodule:: cnotmuch.notmuch
220
221 :class:`Filenames` -- An iterator over filenames
222 ------------------------------------------------
223
224 To be implemented
225
226 :class:`Directoy` -- A directory entry in the database
227 ------------------------------------------------------
228
229 To be implemented
230
231 :exc:`NotmuchError` -- A Notmuch execution error
232 ------------------------------------------------
233 .. autoexception:: NotmuchError
234    :members:
235
236    This execption inherits directly from :exc:`Exception` and is raised on errors during the notmuch execution.
237
238 :class:`STATUS` -- Notmuch operation return status
239 --------------------------------------------------
240 .. autoclass:: STATUS
241
242    To be documented
243
244 Indices and tables
245 ==================
246
247 * :ref:`genindex`
248 * :ref:`search`
249