diff options
| author | J08nY | 2017-07-06 17:33:34 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-06 17:33:34 +0200 |
| commit | bb76f8a84d94fb9d19ad96e7fb9c640dea9a982f (patch) | |
| tree | 6910b318673d4381adceceef8082f3e2f18906a9 /src/mailman_pgp/pgp/inline.py | |
| parent | e224ef8e73c1626b0848a2c05a014cd30dd7b250 (diff) | |
| download | mailman-pgp-bb76f8a84d94fb9d19ad96e7fb9c640dea9a982f.tar.gz mailman-pgp-bb76f8a84d94fb9d19ad96e7fb9c640dea9a982f.tar.zst mailman-pgp-bb76f8a84d94fb9d19ad96e7fb9c640dea9a982f.zip | |
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()) |
