aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/pgp/inline.py
diff options
context:
space:
mode:
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())