diff options
Diffstat (limited to 'src/mailman_pgp/pgp/inline.py')
| -rw-r--r-- | src/mailman_pgp/pgp/inline.py | 14 |
1 files changed, 14 insertions, 0 deletions
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()) |
