Files
offlineimap/patch.py

27 lines
967 B
Python
Raw Normal View History

2026-03-19 09:50:15 -04:00
import sys, os
maildir_path = "/usr/lib/python3.12/site-packages/offlineimap/folder/Maildir.py"
with open(maildir_path, "r") as f:
maildir = f.read()
maildir = maildir.replace(
"fd.write(msg.as_bytes(policy=output_policy))",
"try:\n fd.write(msg.as_bytes(policy=output_policy))\n except UnicodeEncodeError:\n fd.write(msg.as_string(policy=output_policy).encode('utf-8'))"
)
with open(maildir_path, "w") as f:
f.write(maildir)
imap_path = "/usr/lib/python3.12/site-packages/offlineimap/folder/IMAP.py"
with open(imap_path, "r") as f:
imap_py = f.read()
imap_patch = """
def get_msg_bytes(msg, policy):
try:
return msg.as_bytes(policy=policy)
except UnicodeEncodeError:
return msg.as_string(policy=policy).encode('utf-8')
"""
imap_py = imap_patch + imap_py.replace("msg.as_bytes(policy=output_policy)", "get_msg_bytes(msg, output_policy)")
with open(imap_path, "w") as f:
f.write(imap_py)