mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 19:08:09 +01:00
Add Database.create_query() as a shorthand for db=Database();q=Query(db,"")
This is a convenience extension to the C API. I hardly saves any typing, but let's us automatically free the top-level Database() object when we delete the Query().
This commit is contained in:
parent
c90c28ded7
commit
0b57cb8ed9
2 changed files with 23 additions and 0 deletions
|
@ -293,6 +293,28 @@ class Database(object):
|
|||
raise NotmuchError(STATUS.NULL_POINTER)
|
||||
return Tags(tags_p, self)
|
||||
|
||||
def create_query(self, querystring):
|
||||
"""Returns a :class:`Query` derived from this database
|
||||
|
||||
This is a shorthand method for doing::
|
||||
# short version
|
||||
# Automatically frees the Database() when 'q' is deleted
|
||||
|
||||
q = Database(dbpath).create_query('from:"Biene Maja"')
|
||||
|
||||
# long version, which is functionally equivalent but will keep the
|
||||
# Database in the 'db' variable around after we delete 'q':
|
||||
|
||||
db = Database(dbpath)
|
||||
q = Query(db,'from:"Biene Maja"')
|
||||
|
||||
This function is a python extension and not in the underlying C API.
|
||||
"""
|
||||
# Raise a NotmuchError if not initialized
|
||||
self._verify_initialized_db()
|
||||
|
||||
return Query(self._db, querystring)
|
||||
|
||||
def __repr__(self):
|
||||
return "'Notmuch DB " + self.get_path() + "'"
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ or::
|
|||
|
||||
.. automethod:: get_all_tags
|
||||
|
||||
.. automethod:: create_query
|
||||
|
||||
.. attribute:: Database.MODE
|
||||
|
||||
|
|
Loading…
Reference in a new issue