diff options
| author | Justus Winter <[email protected]> | 2016-05-10 11:30:30 +0000 | 
|---|---|---|
| committer | Justus Winter <[email protected]> | 2016-05-10 11:30:30 +0000 | 
| commit | aade53a12b9716997684b872bc2ac87229f73fb3 (patch) | |
| tree | 3b7765c59ff99c7929a3e08053bcd2f301a1ceec /lang/python | |
| parent | python: Drop Debian packaging. (diff) | |
| download | gpgme-aade53a12b9716997684b872bc2ac87229f73fb3.tar.gz gpgme-aade53a12b9716997684b872bc2ac87229f73fb3.zip | |
python: Delete trailing whitespace.
--
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'lang/python')
| -rw-r--r-- | lang/python/README.rst | 2 | ||||
| -rw-r--r-- | lang/python/docs/old-commits.log | 84 | ||||
| -rwxr-xr-x | lang/python/examples/encrypt-to-all.py | 2 | ||||
| -rwxr-xr-x | lang/python/examples/signverify.py | 2 | ||||
| -rw-r--r-- | lang/python/examples/t-edit.py | 2 | ||||
| -rw-r--r-- | lang/python/examples/testCMSgetkey.py | 4 | ||||
| -rwxr-xr-x | lang/python/examples/verifydetails.py | 2 | ||||
| -rw-r--r-- | lang/python/gpgme.i | 4 | ||||
| -rw-r--r-- | lang/python/helpers.c | 6 | ||||
| -rw-r--r-- | lang/python/pyme/callbacks.py | 2 | ||||
| -rw-r--r-- | lang/python/pyme/core.py | 26 | ||||
| -rw-r--r-- | lang/python/pyme/errors.py | 4 | ||||
| -rw-r--r-- | lang/python/pyme/util.py | 4 | ||||
| -rwxr-xr-x | lang/python/setup.py | 8 | 
14 files changed, 74 insertions, 78 deletions
| diff --git a/lang/python/README.rst b/lang/python/README.rst index 4cad03a0..57df1f29 100644 --- a/lang/python/README.rst +++ b/lang/python/README.rst @@ -22,7 +22,7 @@ Authors  * Martin Albrecht, `PyME 0.9+ <https://bitbucket.org/malb/pyme>`_, 2014 to present.  * Ben McGinnes, `PyME Python 3 Port <https://git.gnupg.org/gpgme.git/lang/py3-pyme>`_, 2015 to present. -   +  ------------  Mailing List  ------------ diff --git a/lang/python/docs/old-commits.log b/lang/python/docs/old-commits.log index 4d2bfe09..0db59a08 100644 --- a/lang/python/docs/old-commits.log +++ b/lang/python/docs/old-commits.log @@ -4,7 +4,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 03:04:19 2015 +1000      Merge pull request #4 from Hasimir/master -     +      history  commit 2036f1a0a670a0561993e195c458059220b36114 @@ -19,7 +19,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 02:52:23 2015 +1000      Added a short history -     +      * A (very) brief summary of the project's history since 2002.      * Deals with why the commit log in the GPGME repo does not include the        history of PyME. @@ -36,7 +36,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 02:21:34 2015 +1000      Merge pull request #3 from Hasimir/master -     +      Version release preparation  commit 7c37a27a6845c58222d4d947c2efbe38e955b612 @@ -51,7 +51,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 02:09:44 2015 +1000      TODO update -     +      * Removed reference to GitHub, replaced with impending new home at gnupg.org.   docs/TODO.rst | 4 ++-- @@ -62,7 +62,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 02:00:44 2015 +1000      Version bump -     +      * Bumped version number to 0.9.1 to keep it somewhat in line with the        existing PyME project, even though there will be some divergence at        some point (or even re-merging, depending on how many of the Python 3 @@ -80,7 +80,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 01:48:01 2015 +1000      README preparation. -     +      * Changes in preparation for impending move of code to the GnuPG git        server as a part of GPGME. @@ -92,7 +92,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Wed May 6 01:43:53 2015 +1000      TODO moved to docs -     +      * As it says.   TODO.rst      | 25 ------------------------- @@ -114,7 +114,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 14:59:44 2015 +1000      Merge pull request #2 from Hasimir/master -     +      Minor editing.  commit 44837f6e50fc539c86aef1f75a6a3538b02029ea @@ -122,7 +122,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 14:56:55 2015 +1000      Minor editing. -     +      * Fixed another URL.      * Changed Py3 version's version number to v0.9.1-beta0. @@ -135,7 +135,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 14:26:11 2015 +1000      Merge pull request #1 from Hasimir/master -     +      Links  commit 48eb1856cb0739cc9f0b9084da9d965e1fc7fddd @@ -143,7 +143,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 14:22:30 2015 +1000      Links -     +      * Fixed URLs for authors.      * Updated my entry to point to github location.      ** I strongly suspect the result of this work will be concurrent @@ -157,9 +157,9 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 11:29:00 2015 +1000      Explicit over Implicit ... -     +      ... isn't just for code. -     +      * Removed the 2to3 working directory and its contents.      * Made the README.rst file a little more clear that this branch is for        Python 3 (set Python 3.2 as a fairly arbitrary requirement for the @@ -176,7 +176,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 11:19:41 2015 +1000      Added authors. -     +      * In alphabetical order.      * Mine will need updating once Martin and I have decided what to do        regarding the two main branches. @@ -189,7 +189,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 10:23:00 2015 +1000      Docs and other things. -     +      * Now able to import pyme.core without error, indicates port process is        successful.      * Code is *not* compatible with the Python 2 version. @@ -227,7 +227,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 10:08:22 2015 +1000      Bytes vs. Unicode -     +      * Trying PyBytes instead of PyUnicode.   gpgme.i   | 14 +++++++------- @@ -239,7 +239,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 09:22:58 2015 +1000      String to Unicode -     +      * Replaced all instances of PyString with PyUnicode (and hoping there's        no byte data in there). @@ -252,7 +252,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 09:17:06 2015 +1000      PyInt_AsLong -     +      * Replaced all instances of PyInt with PyLong, as per C API docs.   gpgme.i   | 4 ++-- @@ -264,7 +264,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 05:59:36 2015 +1000      Import correction -     +      * Once pygpgme.py is generated and moved, it will be in the right        directory for the explicit "from . import pygpgme" to be correct. @@ -303,10 +303,10 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 04:53:21 2015 +1000      Pet Peeve -     +      def pet_peeve(self):          peeve = print("people who don't press return after a colon!") -     +      FFS!   pyme/core.py | 5 +++-- @@ -371,7 +371,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sun May 3 03:51:48 2015 +1000      Linking swig to py3 -     +      * Changed the swig invocations to run with the -python -py3 flags explicitly.   Makefile | 4 ++-- @@ -383,7 +383,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 11:12:00 2015 +1000      String fun -     +      * streamlined confdata details, including decoding strom binary to string.   setup.py | 4 +--- @@ -394,7 +394,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 10:46:59 2015 +1000      Open File -     +      * Removed deprecated file() and replaced with open().   examples/PyGtkGpgKeys.py | 2 +- @@ -407,7 +407,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 10:36:15 2015 +1000      print() fix -     +      * Makefile includes a python print, changed from statement to function.   Makefile | 2 +- @@ -418,7 +418,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 10:28:42 2015 +1000      Updated Makefile -     +      * set make to use python3 instead.      * This will mean a successful port may need to be maintained seperately        from the original python2 code instead of merged, but ought to be able @@ -434,7 +434,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 10:15:20 2015 +1000      Env and a little license issue -     +      * Updated all the /usr/bin/env paths to point to python3.      * Also fixed the hard coded /usr/bin/python paths.      * Updated part of setup.py which gave the impression this package was @@ -463,7 +463,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 08:50:54 2015 +1000      Removed extraneous files. -     +      * The two .bak files.   pyme/errors.py.bak |  46 --------------------- @@ -475,7 +475,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 08:19:37 2015 +1000      Added TODO.org -     +      * TODO list in Emacs org-mode.      * Will eventually be removed along with this entire directory when the        porting process is complete. @@ -488,7 +488,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 07:58:40 2015 +1000      2to3 conversion of remaining files -     +      * Ran the extended version against all the unmodified python files.      * Only pyme/errors.py required additional work. @@ -502,7 +502,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Sat May 2 07:50:39 2015 +1000      2to3 conversion of setup.py -     +      * Ran extended 2to3 command to produce python 3 code for setup.py.      * Effectively testing for what to run against the other originally        unmodified py2 files. @@ -517,7 +517,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Fri May 1 21:50:07 2015 +1000      Removing 2to3 generated .bak files. -     +      * Not really needed with a real VCS, but couldn't hurt to have them for        a couple of revisions.  ;) @@ -548,7 +548,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Fri May 1 21:45:50 2015 +1000      2to3 conversion log -     +      * The output of the command to convert the code from Python 2 to 3.      * Note: this contains the list of files which were not modified and        which will or may need to be modified. @@ -561,7 +561,7 @@ Author: Ben McGinnes <[email protected]>  Date:   Fri May 1 21:36:58 2015 +1000      2to3 conversion of pyme master -     +      * Branch from commit 459f3eca659b4949e394c4a032d9ce2053e6c721      * Ran this: or x in `find . | egrep .py$` ; do 2to3 -w $x; done ;      * Multiple files not modified, will record elsewhere (see next commit). @@ -614,7 +614,7 @@ Author: Martin Albrecht <[email protected]>  Date:   Wed Jul 9 10:48:33 2014 +0100      Merged in jerrykan/pyme/fix_setup_26 (pull request #1) -     +      Provide support for using setup.py with Python v2.6  commit dae7f14a54e6c2bde0ad4da7308cc7fc0d0c0469 @@ -622,7 +622,7 @@ Author: John Kristensen <[email protected]>  Date:   Wed Jul 9 15:54:39 2014 +1000      Provide support for using setup.py with Python v2.6 -     +      The setup.py script uses subprocess.check_output() which was introduced      in Python v2.7. The equivalent functionality can be achieved without      adding much extra code and provide support for Python v2.6. @@ -701,7 +701,7 @@ Author: Martin Albrecht <[email protected]>  Date:   Sat May 10 15:41:02 2014 +0100      Merge branch 'master' of bitbucket.org:malb/pyme -     +      Conflicts:      	setup.py @@ -1018,10 +1018,10 @@ Author: Martin Albrecht <[email protected]>  Date:   Mon Jan 6 17:44:20 2014 +0100      fixing op_export_keys() -     +      the conversion of gpgme_key_t [] was restricted to gpgme_key_t [] with the      name recv, i.e. only the use-cases of encryption were covered. -     +      see: http://sourceforge.net/mailarchive/forum.php?forum_name=pyme-help&max_rows=25&style=nested&viewmonth=201309   pyme/gpgme.i | 6 +++--- @@ -1618,9 +1618,9 @@ Date:   Fri Jun 10 03:01:22 2005 +0000      Update 'docs' rule in Makefile to build packages first to ensure that      documentation is build for the current version of pyme and not for the      installed one. -     +      Added 'callbacks' into the list of visible pyme modules (__all__ var.) -     +      Slightly updated INSTALL file.   pyme/INSTALL          | 11 ++++++++--- @@ -2100,7 +2100,7 @@ Author: belyi <devnull@localhost>  Date:   Fri Mar 18 19:09:33 2005 +0000      Added package building for python2.4 -     +      Updated copyright notes to include myslef and avoid confusion who's the      maintainer. In John's own words: "I'd prefer to just step out of the picture".      Jonh's copyright notice left intact. diff --git a/lang/python/examples/encrypt-to-all.py b/lang/python/examples/encrypt-to-all.py index 8f9d2500..c890df4f 100755 --- a/lang/python/examples/encrypt-to-all.py +++ b/lang/python/examples/encrypt-to-all.py @@ -54,7 +54,7 @@ for key in c.op_keylist_all(None, 0):                    (keyid, can_encrypt and "enabled" or "disabled"))      except UnicodeEncodeError as e:          print(e) -     +      if valid:          names.append(key)      else: diff --git a/lang/python/examples/signverify.py b/lang/python/examples/signverify.py index f8804ca9..7194157b 100755 --- a/lang/python/examples/signverify.py +++ b/lang/python/examples/signverify.py @@ -43,7 +43,7 @@ if not c.signers_enum(0):  passlist = {      b"<[email protected]>": b"Crypt0R0cks"      } -     +  # callback will return password based on the e-mail listed in the hint.  c.set_passphrase_cb(lambda x,y,z: passlist[x[x.rindex("<"):]]) diff --git a/lang/python/examples/t-edit.py b/lang/python/examples/t-edit.py index 6c533429..5553190c 100644 --- a/lang/python/examples/t-edit.py +++ b/lang/python/examples/t-edit.py @@ -32,7 +32,7 @@ class KeyEditor:          out.seek(0,0)          print(out.read(), end=' ')          print("[-- Code: %d, %s --]" % (status, args)) -     +          if args == "keyedit.prompt":              result = self.steps[self.step]              self.step += 1 diff --git a/lang/python/examples/testCMSgetkey.py b/lang/python/examples/testCMSgetkey.py index 53fdef77..7c953012 100644 --- a/lang/python/examples/testCMSgetkey.py +++ b/lang/python/examples/testCMSgetkey.py @@ -22,7 +22,7 @@ from pyme.constants import protocol  def printgetkeyresults(keyfpr):      """Run gpgme_get_key().""" -    # gpgme_check_version() necessary for initialisation according to  +    # gpgme_check_version() necessary for initialisation according to      # gogme 1.1.6 and this is not done automatically in pyme-0.7.0      print("gpgme version:", core.check_version(None))      c = core.Context() @@ -45,5 +45,3 @@ def main():  if __name__ == "__main__":      main() - - 	  	  diff --git a/lang/python/examples/verifydetails.py b/lang/python/examples/verifydetails.py index 0d47ba54..a8d840e7 100755 --- a/lang/python/examples/verifydetails.py +++ b/lang/python/examples/verifydetails.py @@ -96,5 +96,3 @@ def main():  if __name__ == "__main__":      main() - - 	  	  diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i index 0115caf3..87efce73 100644 --- a/lang/python/gpgme.i +++ b/lang/python/gpgme.i @@ -241,14 +241,14 @@ gpgme_error_t pyEditCb(void *opaque, gpgme_status_code_t status,      func = pyopaque;      pyargs = PyTuple_New(2);    } -   +    PyTuple_SetItem(pyargs, 0, PyLong_FromLong((long) status));    PyTuple_SetItem(pyargs, 1, PyBytes_FromString(args));    if (dataarg) {      Py_INCREF(dataarg);		/* Because GetItem doesn't give a ref but SetItem taketh away */      PyTuple_SetItem(pyargs, 2, dataarg);    } -   +    retval = PyObject_CallObject(func, pyargs);    Py_DECREF(pyargs);    if (PyErr_Occurred()) { diff --git a/lang/python/helpers.c b/lang/python/helpers.c index b53dbdd8..96c844fb 100644 --- a/lang/python/helpers.c +++ b/lang/python/helpers.c @@ -66,7 +66,7 @@ static gpgme_error_t pyPassphraseCb(void *hook,    PyObject *args = NULL;    PyObject *retval = NULL;    PyObject *dataarg = NULL; -  gpgme_error_t err_status = 0;   +  gpgme_error_t err_status = 0;    pygpgme_exception_init(); @@ -119,7 +119,7 @@ static void pyProgressCb(void *hook, const char *what, int type, int current,  			 int total) {    PyObject *func = NULL, *dataarg = NULL, *args = NULL, *retval = NULL;    PyObject *pyhook = (PyObject *) hook; -   +    if (PyTuple_Check(pyhook)) {      func = PyTuple_GetItem(pyhook, 0);      dataarg = PyTuple_GetItem(pyhook, 1); @@ -137,7 +137,7 @@ static void pyProgressCb(void *hook, const char *what, int type, int current,      Py_INCREF(dataarg);		/* Because GetItem doesn't give a ref but SetItem taketh away */      PyTuple_SetItem(args, 4, dataarg);    } -   +    retval = PyObject_CallObject(func, args);    Py_DECREF(args);    Py_XDECREF(retval); diff --git a/lang/python/pyme/callbacks.py b/lang/python/pyme/callbacks.py index e3c810cd..3a507b99 100644 --- a/lang/python/pyme/callbacks.py +++ b/lang/python/pyme/callbacks.py @@ -33,7 +33,7 @@ def passphrase_stdin(hint, desc, prev_bad, hook=None):  def progress_stdout(what, type, current, total, hook=None):      print("PROGRESS UPDATE: what = %s, type = %d, current = %d, total = %d" %\            (what, type, current, total)) -     +  def readcb_fh(count, hook):      """A callback for data.  hook should be a Python file-like object."""      if count: diff --git a/lang/python/pyme/core.py b/lang/python/pyme/core.py index b03cedb0..09f0fa88 100644 --- a/lang/python/pyme/core.py +++ b/lang/python/pyme/core.py @@ -37,7 +37,7 @@ class Context(GpgmeWrapper):      def _getctype(self):          return 'gpgme_ctx_t' -     +      def _getnameprepend(self):          return 'gpgme_' @@ -106,7 +106,7 @@ class Context(GpgmeWrapper):          if key:              key.__del__ = lambda self: pygpgme.gpgme_key_unref(self)              return key -     +      def get_key(self, fpr, secret):          """Return the key corresponding to the fingerprint 'fpr'"""          ptr = pygpgme.new_gpgme_key_t_p() @@ -147,7 +147,7 @@ class Context(GpgmeWrapper):          desc, a string describing the passphrase it needs;          prev_bad, a boolean equal True if this is a call made after          unsuccessful previous attempt. -         +          If hook has a value other than None it will be passed into the func          as a forth argument. @@ -206,7 +206,7 @@ class Context(GpgmeWrapper):          context = pygpgme.gpgme_wait(self.wrapped, ptr, hang)          status = pygpgme.gpgme_error_t_p_value(ptr)          pygpgme.delete_gpgme_error_t_p(ptr) -         +          if context == None:              errorcheck(status)              return None @@ -219,7 +219,7 @@ class Context(GpgmeWrapper):              raise ValueError("op_edit: First argument cannot be None")          opaquedata = (func, fnc_value)          errorcheck(pygpgme.gpgme_op_edit(self.wrapped, key, opaquedata, out)) -     +  class Data(GpgmeWrapper):      """From the GPGME C manual: @@ -236,7 +236,7 @@ class Data(GpgmeWrapper):      def _getctype(self):          return 'gpgme_data_t' -     +      def _getnameprepend(self):          return 'gpgme_data_' @@ -247,7 +247,7 @@ class Data(GpgmeWrapper):                 name == 'gpgme_data_seek':              return 0          return 1 -     +      def __init__(self, string = None, file = None, offset = None,                   length = None, cbs = None):          """Initialize a new gpgme_data_t object. @@ -360,7 +360,7 @@ class Data(GpgmeWrapper):          """This wraps the GPGME gpgme_data_new_from_fd() function.          The argument "file" may be a file-like object, supporting the fileno()          call and the mode attribute.""" -         +          tmp = pygpgme.new_gpgme_data_t_p()          fp = pygpgme.fdopen(file.fileno(), file.mode)          if fp == None: @@ -375,18 +375,18 @@ class Data(GpgmeWrapper):          new_from_fd() method since in python there's not difference          between file stream and file descriptor"""          self.new_from_fd(file) -     +      def write(self, buffer):          errorcheck(pygpgme.gpgme_data_write(self.wrapped, buffer, len(buffer)))      def read(self, size = -1):          """Read at most size bytes, returned as a string. -         +          If the size argument is negative or omitted, read until EOF is reached.          Returns the data read, or the empty string if there was no data          to read before EOF was reached.""" -         +          if size == 0:              return '' @@ -445,11 +445,11 @@ def set_locale(category, value):  def wait(hang):      """Wait for asynchronous call on any Context  to finish.      Wait forever if hang is True. -     +      For finished anynch calls it returns a tuple (status, context):          status  - status return by asnynchronous call.          context - context which caused this call to return. -         +      Please read the GPGME manual of more information."""      ptr = pygpgme.new_gpgme_error_t_p()      context = pygpgme.gpgme_wait(None, ptr, hang) diff --git a/lang/python/pyme/errors.py b/lang/python/pyme/errors.py index 0ad22f2b..37d0fe67 100644 --- a/lang/python/pyme/errors.py +++ b/lang/python/pyme/errors.py @@ -22,7 +22,7 @@ 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)) @@ -35,7 +35,7 @@ class GPGMEError(Exception):      def getsource(self):          return pygpgme.gpgme_err_source(self.error) -     +      def __str__(self):          return "%s (%d,%d)"%(self.getstring(), self.getsource(), self.getcode()) diff --git a/lang/python/pyme/util.py b/lang/python/pyme/util.py index c5f02a96..32e2f556 100644 --- a/lang/python/pyme/util.py +++ b/lang/python/pyme/util.py @@ -28,7 +28,7 @@ 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.""" @@ -51,7 +51,7 @@ class GpgmeWrapper(object):      def _getctype(self):          raise NotImplementedException -     +      def __getattr__(self, name):          """On-the-fly function generation."""          if name[0] == '_' or self._getnameprepend() == None: diff --git a/lang/python/setup.py b/lang/python/setup.py index b0ed3b2c..562c08f4 100755 --- a/lang/python/setup.py +++ b/lang/python/setup.py @@ -60,7 +60,7 @@ for item in getconfig('cflags'):  # Adjust include and library locations in case of win32  uname_s = os.popen("uname -s").read()  if uname_s.startswith("MINGW32"): -   mnts = [x.split()[0:3:2] for x in os.popen("mount").read().split("\n") if x]  +   mnts = [x.split()[0:3:2] for x in os.popen("mount").read().split("\n") if x]     tmplist = sorted([(len(x[1]), x[1], x[0]) for x in mnts])     tmplist.reverse()     extra_dirs = [] @@ -89,9 +89,9 @@ except OSError as e:          raise RuntimeError("Could not call swig, perhaps install swig.")      else:          raise -     +  subprocess.call(["make swig"], shell=True) -                +  swige = Extension("pyme._pygpgme", ["gpgme_wrap.c", "helpers.c"],                    include_dirs = include_dirs,                    define_macros = define_macros, @@ -106,7 +106,7 @@ setup(name = "pyme",        url = version.homepage,        ext_modules=[swige],        packages = ['pyme', 'pyme.constants', 'pyme.constants.data', -                  'pyme.constants.keylist', 'pyme.constants.sig'],  +                  'pyme.constants.keylist', 'pyme.constants.sig'],        license = version.copyright + \                  ", Licensed under the GPL version 2 and the LGPL version 2.1"  ) | 
