unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 5c195327b786613c7016ae8e17ae0343d03f6f6f 2996 bytes (raw)
name: bindings/python/notmuch/__init__.py 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
"""The :mod:`notmuch` module provides most of the functionality that a user is
likely to need.

.. note:: The underlying notmuch library is build on a hierarchical
    memory allocator called talloc. All objects derive from a
    top-level :class:`Database` object.

    This means that as soon as an object is deleted, all underlying
    derived objects such as Queries, Messages, Message, and Tags will
    be freed by the underlying library as well. Accessing these
    objects will then lead to segfaults and other unexpected behavior.

    We implement reference counting, so that parent objects can be
    automatically freed when they are not needed anymore. For
    example::

            db = Database('path',create=True)
            msgs = Query(db,'from:myself').search_messages()

    This returns :class:`Messages` which internally contains a
    reference to its parent :class:`Query` object. Otherwise the
    Query() would be immediately freed, taking our *msgs* down with
    it.

    In this case, the above Query() object will be automatically freed
    whenever we delete all derived objects, ie in our case:
    `del(msgs)` would also delete the parent Query. It would not
    delete the parent Database() though, as that is still referenced
    from the variable *db* in which it is stored.

    Pretty much the same is valid for all other objects in the
    hierarchy, such as :class:`Query`, :class:`Messages`,
    :class:`Message`, and :class:`Tags`.
"""

"""
This file is part of notmuch.

Notmuch is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.

Notmuch is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with notmuch.  If not, see <https://www.gnu.org/licenses/>.

Copyright 2010-2011 Sebastian Spaeth <Sebastian@SSpaeth.de>
"""
from .database import Database
from .directory import Directory
from .filenames import Filenames
from .indexopts import Indexopts
from .message import Message
from .messages import Messages
from .query import Query
from .tag import Tags
from .thread import Thread
from .threads import Threads
from .globals import nmlib
from .errors import (
    STATUS,
    NotmuchError,
    OutOfMemoryError,
    ReadOnlyDatabaseError,
    XapianError,
    FileError,
    FileNotEmailError,
    DuplicateMessageIdError,
    NullPointerError,
    TagTooLongError,
    UnbalancedFreezeThawError,
    UnbalancedAtomicError,
    NotInitializedError,
    UnsupportedOperationError,
    UpgradeRequiredError,
    PathError,
)
from .version import __VERSION__
__LICENSE__ = "GPL v3+"
__AUTHOR__ = 'Sebastian Spaeth <Sebastian@SSpaeth.de>'

debug log:

solving 5c19532 ...
found 5c19532 in https://yhetil.org/notmuch/1467970047-8013-14-git-send-email-dkg@fifthhorseman.net/
found cf627ff in https://yhetil.org/notmuch.git/
preparing index
index prepared:
100644 cf627ffa288cbf64d13c223d5c5d3bc586838397	bindings/python/notmuch/__init__.py

applying [1/1] https://yhetil.org/notmuch/1467970047-8013-14-git-send-email-dkg@fifthhorseman.net/
diff --git a/bindings/python/notmuch/__init__.py b/bindings/python/notmuch/__init__.py
index cf627ff..5c19532 100644

Checking patch bindings/python/notmuch/__init__.py...
Applied patch bindings/python/notmuch/__init__.py cleanly.

index at:
100644 5c195327b786613c7016ae8e17ae0343d03f6f6f	bindings/python/notmuch/__init__.py

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).