diff options
| author | Justus Winter <[email protected]> | 2016-07-28 15:44:18 +0000 | 
|---|---|---|
| committer | Justus Winter <[email protected]> | 2016-07-28 15:50:07 +0000 | 
| commit | 5a7c7a86f7e8eaf10e37138617a2d838f9d4466f (patch) | |
| tree | 33c5b869cb738dff167d978f8db0cd7b5b4bf261 | |
| parent | src: Fix dummy engine versions. (diff) | |
| download | gpgme-5a7c7a86f7e8eaf10e37138617a2d838f9d4466f.tar.gz gpgme-5a7c7a86f7e8eaf10e37138617a2d838f9d4466f.zip | |
python: Improve error handling.
* lang/python/pyme/core.py (Context.protocol): Check that the engine
is usable before setting the protocol.
(Context._errorcheck): Add missing functions.
Signed-off-by: Justus Winter <[email protected]>
| -rw-r--r-- | lang/python/pyme/core.py | 26 | 
1 files changed, 18 insertions, 8 deletions
| diff --git a/lang/python/pyme/core.py b/lang/python/pyme/core.py index 50c6c0fd..e12dc7bd 100644 --- a/lang/python/pyme/core.py +++ b/lang/python/pyme/core.py @@ -546,6 +546,7 @@ class Context(GpgmeWrapper):          return self.get_protocol()      @protocol.setter      def protocol(self, value): +        errorcheck(gpgme.gpgme_engine_check_version(value))          self.set_protocol(value)      _ctype = 'gpgme_ctx_t' @@ -553,14 +554,23 @@ class Context(GpgmeWrapper):      def _errorcheck(self, name):          """This function should list all functions returning gpgme_error_t""" -        if (name.startswith('gpgme_op_') and \ -            not name.endswith('_result')) or \ -            name == 'gpgme_signers_add' or \ -            name == 'gpgme_set_locale' or \ -            name == 'gpgme_set_keylist_mode' or \ -            name == 'gpgme_set_protocol': -            return 1 -        return 0 +        return ((name.startswith('gpgme_op_') +                 and not name.endswith('_result')) +                or name in { +                    'gpgme_set_ctx_flag', +                    'gpgme_set_protocol', +                    'gpgme_set_sub_protocol', +                    'gpgme_set_keylist_mode', +                    'gpgme_set_pinentry_mode', +                    'gpgme_set_locale', +                    'gpgme_set_engine_info', +                    'gpgme_signers_add', +                    'gpgme_get_sig_key', +                    'gpgme_sig_notation_add', +                    'gpgme_cancel', +                    'gpgme_cancel_async', +                    'gpgme_cancel_get_key', +                })      _boolean_properties = {'armor', 'textmode', 'offline'} | 
