From 5a190ed840bab74dcab4e4a82ae6fd9fa9b3d12d Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Wed, 28 Oct 2020 12:21:24 +0100 Subject: [PATCH] use pgpy if python-gnupg fails --- email_handler.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/email_handler.py b/email_handler.py index a21661de..b454cf59 100644 --- a/email_handler.py +++ b/email_handler.py @@ -424,10 +424,17 @@ def prepare_pgp_message(orig_msg: Message, pgp_fingerprint: str, public_key: str x = random.randint(0, 9) if x >= 5: LOG.d("encrypt using python-gnupg") - encrypted_data = pgp_utils.encrypt_file( - BytesIO(orig_msg.as_bytes()), pgp_fingerprint - ) - second.set_payload(encrypted_data) + try: + encrypted_data = pgp_utils.encrypt_file( + BytesIO(orig_msg.as_bytes()), pgp_fingerprint + ) + second.set_payload(encrypted_data) + except PGPException: + LOG.exception("Cannot encrypt using python-gnupg, use pgpy") + encrypted_data = pgp_utils.encrypt_file_with_pgpy( + orig_msg.as_bytes(), public_key + ) + second.set_payload(str(encrypted_data)) else: LOG.d("encrypt using pgpy") encrypted_data = pgp_utils.encrypt_file_with_pgpy(