From 0ebd6a1b43a96bffa78da89dc8629edac0a74d35 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 24 May 2016 16:45:39 +0200 Subject: python: Move the base wrapper class. * python/lang/pyme/util.py (GpgmeWrapper): Move... * python/lang/pyme/core.py: ... here. Signed-off-by: Justus Winter --- lang/python/pyme/util.py | 78 ------------------------------------------------ 1 file changed, 78 deletions(-) (limited to 'lang/python/pyme/util.py') diff --git a/lang/python/pyme/util.py b/lang/python/pyme/util.py index b54cd4dc..d52cd1f9 100644 --- a/lang/python/pyme/util.py +++ b/lang/python/pyme/util.py @@ -17,7 +17,6 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA from . import pygpgme -from .errors import errorcheck def process_constants(starttext, dict): """Called by the constant libraries to load up the appropriate constants @@ -28,80 +27,3 @@ def process_constants(starttext, dict): continue name = identifier[index:] dict[name] = getattr(pygpgme, identifier) - -class GpgmeWrapper(object): - """Base class all Pyme wrappers for GPGME functionality. Not to be - instantiated directly.""" - - def __init__(self, wrapped): - self._callback_excinfo = None - self.wrapped = wrapped - - def __repr__(self): - return '' % \ - (__name__, self.__class__.__name__, - self.wrapped) - - def __str__(self): - return repr(self) - - def __hash__(self): - return hash(repr(self.wrapped)) - - def __eq__(self, other): - if other == None: - return False - else: - return repr(self.wrapped) == repr(other.wrapped) - - def _getctype(self): - """Must be implemented by child classes. - - Must return the name of the c type.""" - raise NotImplementedError() - - def _getnameprepend(self): - """Must be implemented by child classes. - - Must return the prefix of all c functions mapped to methods of - this class.""" - raise NotImplementedError() - - def _errorcheck(self, name): - """Must be implemented by child classes. - - This function must return a trueish value for all c functions - returning gpgme_error_t.""" - raise NotImplementedError() - - def __getattr__(self, key): - """On-the-fly function generation.""" - if key[0] == '_' or self._getnameprepend() == None: - return None - name = self._getnameprepend() + key - func = getattr(pygpgme, name) - - if self._errorcheck(name): - def _funcwrap(slf, *args, **kwargs): - result = func(slf.wrapped, *args, **kwargs) - if slf._callback_excinfo: - pygpgme.pygpgme_raise_callback_exception(slf) - return errorcheck(result, "Invocation of " + name) - else: - def _funcwrap(slf, *args, **kwargs): - result = func(slf.wrapped, *args, **kwargs) - if slf._callback_excinfo: - pygpgme.pygpgme_raise_callback_exception(slf) - return result - - _funcwrap.__doc__ = getattr(func, "__doc__") - - # Monkey-patch the class. - setattr(self.__class__, key, _funcwrap) - - # Bind the method to 'self'. - def wrapper(*args, **kwargs): - return _funcwrap(self, *args, **kwargs) - _funcwrap.__doc__ = getattr(func, "__doc__") - - return wrapper -- cgit v1.2.3