feat: test patch for gmail/utf8
All checks were successful
perso/offlineimap/pipeline/head This commit looks good

This commit is contained in:
Julien Cabillot
2026-03-19 09:50:15 -04:00
parent 379ad22d7b
commit 65c73469ed
2 changed files with 31 additions and 1 deletions

26
patch.py Normal file
View File

@@ -0,0 +1,26 @@
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)