unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: l-m-h@web.de
To: notmuch@notmuchmail.org
Cc: Lucas Hoffmann <l-m-h@web.de>
Subject: [PATCH 2/6] python: add default arg to get_config_list
Date: Thu,  7 Dec 2017 12:40:47 +0100	[thread overview]
Message-ID: <85aaf32f62f7c732a6f20255d0f60a13752c0849.1512646265.git.l-m-h@web.de> (raw)
In-Reply-To: <cover.1512646265.git.l-m-h@web.de>
In-Reply-To: <cover.1512646265.git.l-m-h@web.de>

[-- Attachment #1: Type: text/plain, Size: 44 bytes --]

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 273 bytes --]


It makes the function a little more intuitive to use and does not
diverge much from the original function signature.

Also an example is added to the docstring.
---
 bindings/python/notmuch/database.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-python-add-default-arg-to-get_config_list.patch --]
[-- Type: text/x-patch; name="0002-python-add-default-arg-to-get_config_list.patch", Size: 1522 bytes --]

diff --git a/bindings/python/notmuch/database.py b/bindings/python/notmuch/database.py
index 2866b860..54966307 100644
--- a/bindings/python/notmuch/database.py
+++ b/bindings/python/notmuch/database.py
@@ -313,7 +313,7 @@ class Database(object):
         """
         self._assert_db_is_initialized()
         status = Database._upgrade(self._db, None, None)
-        #TODO: catch exceptions, document return values and etc
+        # TODO: catch exceptions, document return values and etc
         return status
 
     _begin_atomic = nmlib.notmuch_database_begin_atomic
@@ -689,12 +689,19 @@ class Database(object):
     _config_list_destroy.argtypes = [NotmuchConfigListP]
     _config_list_destroy.restype = None
 
-    def get_config_list(self, prefix):
+    def get_config_list(self, prefix=''):
         """Return a list of key, value pairs where the start of key matches the
         given prefix
 
         Note that only config values that are stored in the database are
-        searched and returned.  The config file is not read.
+        searched and returned.  The config file is not read.  If no `prefix` is
+        given all config values are returned.
+
+        This could be used to get all config values or all named queries into a
+        dict for example::
+
+            config = {k: v for k, v in db.get_config_list()}
+            queries = {k[6:]: v for k, v in db.get_config_list('query.')}
 
         :param prefix: a string by which the keys should be selected
         :type prefix:  str

  parent reply	other threads:[~2017-12-07 11:54 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-04 17:20 [PATCH 1/2] python: add bindings for notmuch_database_get_config{, _list} l-m-h
2017-06-04 17:20 ` [PATCH 2/2] python: add convenience function to get named queries l-m-h
2017-06-10 11:37   ` David Bremner
2017-06-10 11:10 ` [PATCH 1/2] python: add bindings for notmuch_database_get_config{, _list} David Bremner
2017-06-20 20:06   ` Lucas Hoffmann
2017-06-26 23:19     ` David Bremner
2017-12-07 11:40       ` [PATCH 0/6] " l-m-h
2017-12-19 11:13         ` David Bremner
2017-12-07 11:40       ` [PATCH 1/6] python: add bindings to access config l-m-h
2017-12-07 11:40       ` l-m-h [this message]
2017-12-07 11:40       ` [PATCH 3/6] python: turn get_config_list into a generator l-m-h
2017-12-07 11:40       ` [PATCH 4/6] test: Add tests for new python bindings l-m-h
2017-12-07 11:40       ` [PATCH 5/6] python: Rename get_config_list to get_configs l-m-h
2017-12-22 21:59         ` David Bremner
2017-12-22 22:26           ` [PATCH 0/1] " l-m-h
2017-12-22 22:26           ` [PATCH 1/1] python: Fix method name in docs l-m-h
2017-12-24 14:05             ` David Bremner
2017-12-07 11:40       ` [PATCH 6/6] test: Add test to unset config items with the python bindings l-m-h

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=85aaf32f62f7c732a6f20255d0f60a13752c0849.1512646265.git.l-m-h@web.de \
    --to=l-m-h@web.de \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).