diff options
author | Justus Winter <[email protected]> | 2017-02-14 12:43:01 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2017-02-14 15:33:19 +0000 |
commit | 99b7f4f34dd595579181a696ae976a678fe00d49 (patch) | |
tree | 16d7d99f58a04c4c93e05e7dead7fc9873c077c0 /lang/python/gpg/core.py | |
parent | qt: Make sure to remove the tofu.db on clean. (diff) | |
download | gpgme-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.py | 14 |
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_' |