From db2f6c1ca3d2ef228f4ca6653d594537622c8588 Mon Sep 17 00:00:00 2001 From: Tobias Mueller Date: Wed, 30 Nov 2016 08:47:29 +0100 Subject: [PATCH] python: Make Results have a nicer __repr__. * lang/python/gpg/results.py (Result.__str__): Renamed to '__repr__' ... * lang/python/gpg/results.py (Result.__repr__): ... and added fields. -- So that it looks a bit nicer in the Python REPL. It looked like this before: In [2]: gpg.core.get_engine_info()[0] Out[2]: Now the output is In [2]: gpg.core.get_engine_info()[0] Out[2]: EngineInfo(file_name='/usr/bin/gpg2', home_dir=None, protocol=0, req_version='1.4.0', version='2.1.11') This also applies to other results, e.g. the ImportResult. Note that the format now changed from "" to "Class()". The Python documentation on repr states: "For many object types, including most builtins, eval(repr(obj)) == obj." Signed-off-by: Tobias Mueller --- lang/python/gpg/results.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/python/gpg/results.py b/lang/python/gpg/results.py index 3383896b..46ebeec6 100644 --- a/lang/python/gpg/results.py +++ b/lang/python/gpg/results.py @@ -64,10 +64,10 @@ class Result(object): setattr(self, key, getattr(fragile, key)) - def __str__(self): - return '<{} {}>'.format( + def __repr__(self): + return '{}({})'.format( self.__class__.__name__, - ', '.join('{}: {}'.format(k, getattr(self, k)) + ', '.join('{}={!r}'.format(k, getattr(self, k)) for k in dir(self) if not k.startswith('_'))) class InvalidKey(Result):