From 49195c487e6c923f7137f092b982e7d833d98de6 Mon Sep 17 00:00:00 2001 From: Alon Bar-Lev Date: Wed, 5 Apr 2017 19:47:08 +0300 Subject: 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 --- lang/python/gpg/results.py | 118 --------------------------------------------- 1 file changed, 118 deletions(-) delete mode 100644 lang/python/gpg/results.py (limited to 'lang/python/gpg/results.py') 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 . - -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 -- cgit v1.2.3