aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/gpg/core.py
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-02-14 12:43:01 +0000
committerJustus Winter <[email protected]>2017-02-14 15:33:19 +0000
commit99b7f4f34dd595579181a696ae976a678fe00d49 (patch)
tree16d7d99f58a04c4c93e05e7dead7fc9873c077c0 /lang/python/gpg/core.py
parentqt: Make sure to remove the tofu.db on clean. (diff)
downloadgpgme-99b7f4f34dd595579181a696ae976a678fe00d49.tar.gz
gpgme-99b7f4f34dd595579181a696ae976a678fe00d49.zip
python: Add convenience functions for the home directory.
* NEWS: Update. * lang/python/gpg/core.py (Context.__init__): Add 'home_dir' argument. (__repr__): Include 'home_dir'. (Context.home_dir): New property. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'lang/python/gpg/core.py')
-rw-r--r--lang/python/gpg/core.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/lang/python/gpg/core.py b/lang/python/gpg/core.py
index 43856ab7..79d1f53f 100644
--- a/lang/python/gpg/core.py
+++ b/lang/python/gpg/core.py
@@ -176,7 +176,7 @@ class Context(GpgmeWrapper):
def __init__(self, armor=False, textmode=False, offline=False,
signers=[], pinentry_mode=constants.PINENTRY_MODE_DEFAULT,
protocol=constants.PROTOCOL_OpenPGP,
- wrapped=None):
+ wrapped=None, home_dir=None):
"""Construct a context object
Keyword arguments:
@@ -186,6 +186,7 @@ class Context(GpgmeWrapper):
signers -- list of keys used for signing (default [])
pinentry_mode -- pinentry mode (default PINENTRY_MODE_DEFAULT)
protocol -- protocol to use (default PROTOCOL_OpenPGP)
+ home_dir -- state directory (default is the engine default)
"""
if wrapped:
@@ -203,13 +204,14 @@ class Context(GpgmeWrapper):
self.signers = signers
self.pinentry_mode = pinentry_mode
self.protocol = protocol
+ self.home_dir = home_dir
def __repr__(self):
return (
"Context(armor={0.armor}, "
"textmode={0.textmode}, offline={0.offline}, "
"signers={0.signers}, pinentry_mode={0.pinentry_mode}, "
- "protocol={0.protocol}"
+ "protocol={0.protocol}, home_dir={0.home_dir}"
")").format(self)
def encrypt(self, plaintext, recipients=[], sign=True, sink=None,
@@ -610,6 +612,14 @@ class Context(GpgmeWrapper):
errorcheck(gpgme.gpgme_engine_check_version(value))
self.set_protocol(value)
+ @property
+ def home_dir(self):
+ """Engine's home directory"""
+ return self.engine_info.home_dir
+ @home_dir.setter
+ def home_dir(self, value):
+ self.set_engine_info(self.protocol, home_dir=value)
+
_ctype = 'gpgme_ctx_t'
_cprefix = 'gpgme_'