summaryrefslogtreecommitdiff
path: root/src/mailman_pgp/pgp/inline.py
diff options
context:
space:
mode:
authorJ08nY2017-07-06 17:33:34 +0200
committerJ08nY2017-07-06 17:33:34 +0200
commitbb76f8a84d94fb9d19ad96e7fb9c640dea9a982f (patch)
tree6910b318673d4381adceceef8082f3e2f18906a9 /src/mailman_pgp/pgp/inline.py
parente224ef8e73c1626b0848a2c05a014cd30dd7b250 (diff)
downloadmailman-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.py14
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())