[PATCH mailscripts 1/3] email-print-mime-structure: Move try_{pgp, cms}_decrypt to properties

Daniel Kahn Gillmor dkg at fifthhorseman.net
Wed Jul 16 23:05:26 BST 2025


This lets us reuse them later

Signed-off-by: Daniel Kahn Gillmor <dkg at fifthhorseman.net>
---
 email-print-mime-structure | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/email-print-mime-structure b/email-print-mime-structure
index 3263da9..eb08985 100755
--- a/email-print-mime-structure
+++ b/email-print-mime-structure
@@ -60,6 +60,13 @@ class MimePrinter(object):
     def __init__(self, args:Namespace):
         self.args = args
 
+    @property
+    def try_pgp_decrypt(self) -> bool:
+        return bool(self.args.pgpkey or self.args.use_gpg_agent)
+    @property
+    def try_cms_decrypt(self) -> bool:
+        return bool(self.args.cmskey or self.args.use_gpg_agent)
+
     def print_part(self, z:Message, prefix:str, parent:Optional[Message], num:int) -> None:
         ofname:Optional[str] = z.get_filename()
         fname:str = '' if ofname is None else f' [{ofname}]'
@@ -84,17 +91,15 @@ class MimePrinter(object):
 
         print(f'{prefix}{z.get_content_type()}{cset}{disposition}{fname} {nbytes:d} bytes')
         cryptopayload:Optional[Message] = None
-        try_pgp_decrypt:bool = self.args.pgpkey or self.args.use_gpg_agent
-        try_cms_decrypt:bool = self.args.cmskey or self.args.use_gpg_agent
 
-        if try_pgp_decrypt and \
+        if self.try_pgp_decrypt and \
            (parent is not None) and \
            (parent.get_content_type().lower() == 'multipart/encrypted') and \
            (str(parent.get_param('protocol')).lower() == 'application/pgp-encrypted') and \
            (num == 2):
             cryptopayload = self.decrypt_part(z, EncType.PGPMIME)
 
-        if try_cms_decrypt and \
+        if self.try_cms_decrypt and \
            cryptopayload is None and \
            z.get_content_type().lower() == 'application/pkcs7-mime' and \
            str(z.get_param('smime-type')).lower() in ['authenveloped-data',
-- 
2.47.2




More information about the sgo-software-discuss mailing list