aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/gpg/results.py
diff options
context:
space:
mode:
authorAlon Bar-Lev <[email protected]>2017-04-05 16:47:08 +0000
committerJustus Winter <[email protected]>2017-04-07 10:12:20 +0000
commit49195c487e6c923f7137f092b982e7d833d98de6 (patch)
tree5be39ddc018fcba7771e0c77ca0ae607e7435d66 /lang/python/gpg/results.py
parentpython: Fix vpath builds, fix distcheck. (diff)
downloadgpgme-49195c487e6c923f7137f092b982e7d833d98de6.tar.gz
gpgme-49195c487e6c923f7137f092b982e7d833d98de6.zip
python: simplify build, some fixups
* lang/python/gpg/version.py.in: Rename to lang/python/version.py.in. configure.ac: Generate version.py.in in lang/python. * lang/python/MANIFEST.in: Include version.py explicitly. * lang/python/gpg: Rename to 'src'. * lang/python/Makefile.am: Do not copy source files, do not use absolute directories, support lib64 in uninstall, clean also dist directory, use symlink for gpg src. * lang/python/setup.py.in: Use builddir, copy sources into builddir, copy version.py into module. -- Simplify build to symlink the gpg sources into builddir instead of copying. This requires handling of version.py as generated file. In addition apply some cleanups: Drop the absolution pathes, clean the dist directory as well, support lib64 for sitelib at uninstall. Signed-off-by: Alon Bar-Lev <[email protected]>
Diffstat (limited to 'lang/python/gpg/results.py')
-rw-r--r--lang/python/gpg/results.py118
1 files changed, 0 insertions, 118 deletions
diff --git a/lang/python/gpg/results.py b/lang/python/gpg/results.py
deleted file mode 100644
index 46ebeec6..00000000
--- a/lang/python/gpg/results.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# Robust result objects
-#
-# Copyright (C) 2016 g10 Code GmbH
-#
-# This file is part of GPGME.
-#
-# GPGME 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.
-#
-# GPGME 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 program; if not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import absolute_import, print_function, unicode_literals
-del absolute_import, print_function, unicode_literals
-
-"""Robust result objects
-
-Results returned by the underlying library are fragile, i.e. they are
-only valid until the next operation is performed in the context.
-
-We cannot arbitrarily constrain the lifetime of Python objects, we
-therefore create deep copies of the results.
-
-"""
-
-class Result(object):
- """Result object
-
- Describes the result of an operation.
-
- """
-
- """Convert to types"""
- _type = {}
-
- """Map functions over list attributes"""
- _map = {}
-
- """Automatically copy unless blacklisted"""
- _blacklist = {
- 'acquire', 'append', 'disown', 'next', 'own', 'this', 'thisown',
- }
- def __init__(self, fragile):
- for key, func in self._type.items():
- if hasattr(fragile, key):
- setattr(self, key, func(getattr(fragile, key)))
-
- for key, func in self._map.items():
- if hasattr(fragile, key):
- setattr(self, key, list(map(func, getattr(fragile, key))))
-
- for key in dir(fragile):
- if key.startswith('_') or key in self._blacklist:
- continue
- if hasattr(self, key):
- continue
-
- setattr(self, key, getattr(fragile, key))
-
- def __repr__(self):
- return '{}({})'.format(
- self.__class__.__name__,
- ', '.join('{}={!r}'.format(k, getattr(self, k))
- for k in dir(self) if not k.startswith('_')))
-
-class InvalidKey(Result):
- pass
-
-class EncryptResult(Result):
- _map = dict(invalid_recipients=InvalidKey)
-
-class Recipient(Result):
- pass
-
-class DecryptResult(Result):
- _type = dict(wrong_key_usage=bool)
- _map = dict(recipients=Recipient)
-
-class NewSignature(Result):
- pass
-
-class SignResult(Result):
- _map = dict(invalid_signers=InvalidKey, signatures=NewSignature)
-
-class Notation(Result):
- pass
-
-class Signature(Result):
- _type = dict(wrong_key_usage=bool, chain_model=bool)
- _map = dict(notations=Notation)
-
-class VerifyResult(Result):
- _map = dict(signatures=Signature)
-
-class ImportStatus(Result):
- pass
-
-class ImportResult(Result):
- _map = dict(imports=ImportStatus)
-
-class GenkeyResult(Result):
- _type = dict(primary=bool, sub=bool)
-
-class KeylistResult(Result):
- _type = dict(truncated=bool)
-
-class VFSMountResult(Result):
- pass
-
-class EngineInfo(Result):
- pass