feat: test patch for gmail/utf8
All checks were successful
perso/offlineimap/pipeline/head This commit looks good
All checks were successful
perso/offlineimap/pipeline/head This commit looks good
This commit is contained in:
26
patch.py
Normal file
26
patch.py
Normal 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)
|
||||
Reference in New Issue
Block a user