From bb76f8a84d94fb9d19ad96e7fb9c640dea9a982f Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 6 Jul 2017 17:33:34 +0200 Subject: Add some more utility methods to wrappers. --- src/mailman_pgp/pgp/inline.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/mailman_pgp/pgp/inline.py') diff --git a/src/mailman_pgp/pgp/inline.py b/src/mailman_pgp/pgp/inline.py index 3cd2aa1..9c19030 100644 --- a/src/mailman_pgp/pgp/inline.py +++ b/src/mailman_pgp/pgp/inline.py @@ -38,6 +38,11 @@ class InlineWrapper: """ self.msg = msg + def get_payload(self): + for part in walk(self.msg): + if not part.is_multipart(): + yield part.get_payload() + def _walk(self, walk_fn, *args, **kwargs): for part in walk(self.msg): if not part.is_multipart(): @@ -69,6 +74,15 @@ class InlineWrapper: """ return any(self._walk(self._is_signed)) + def get_signed(self): + for part in walk(self.msg): + if not part.is_multipart() and self._is_signed(part): + try: + msg = PGPMessage.from_blob(part.get_payload()).message + except: + continue + yield msg + def _is_encrypted(self, part): try: msg = PGPMessage.from_blob(part.get_payload()) -- cgit v1.2.3-70-g09d2