From ebd8734ad705afa4edc409787a00d4968d25e018 Mon Sep 17 00:00:00 2001 From: Ben McGinnes Date: Wed, 6 May 2015 03:09:44 +1000 Subject: Python 3 port of PyME * The entirety of the Python 3 port of PyME up to commit 2145348ec54c6027f2ea20f695de0277e2871405 * The old commit log has been saved as lang/py3-pyme/docs/old-commits.log * Can be viewed as a normal (separate) git repository at https://github.com/adversary-org/pyme3 * Utilising the submodule feature of git was deliberately skipped on humanitarian grounds (in order to prevent pain and suffering on the part of anyone having to manage this repository). --- lang/py3-pyme/pyme/errors.py | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lang/py3-pyme/pyme/errors.py (limited to 'lang/py3-pyme/pyme/errors.py') diff --git a/lang/py3-pyme/pyme/errors.py b/lang/py3-pyme/pyme/errors.py new file mode 100644 index 00000000..0ad22f2b --- /dev/null +++ b/lang/py3-pyme/pyme/errors.py @@ -0,0 +1,46 @@ +# $Id$ +# Copyright (C) 2004 Igor Belyi +# Copyright (C) 2002 John Goerzen +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from . import pygpgme + +class GPGMEError(Exception): + def __init__(self, error = None, message = None): + self.error = error + self.message = message + + def getstring(self): + message = "%s: %s" % (pygpgme.gpgme_strsource(self.error), + pygpgme.gpgme_strerror(self.error)) + if self.message != None: + message = "%s: %s" % (self.message, message) + return message + + def getcode(self): + return pygpgme.gpgme_err_code(self.error) + + def getsource(self): + return pygpgme.gpgme_err_source(self.error) + + def __str__(self): + return "%s (%d,%d)"%(self.getstring(), self.getsource(), self.getcode()) + +EOF = getattr(pygpgme, "EOF") + +def errorcheck(retval, extradata = None): + if retval: + raise GPGMEError(retval, extradata) -- cgit v1.2.3