27 lines
967 B
Python
27 lines
967 B
Python
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)
|