Comments
Patch
@@ -267,6 +267,10 @@
ret = shlex.split(s.decode('latin-1'))
return [a.encode('latin-1') for a in ret]
+ def emailparser(*args, **kwargs):
+ import email.parser
+ return email.parser.BytesParser(*args, **kwargs)
+
else:
import cStringIO
@@ -327,6 +331,10 @@
ziplist = zip
rawinput = raw_input
+ def emailparser(*args, **kwargs):
+ import email.parser
+ return email.parser.Parser(*args, **kwargs)
+
isjython = sysplatform.startswith('java')
isdarwin = sysplatform == 'darwin'
@@ -12,7 +12,6 @@
import copy
import difflib
import email
-import email.parser as emailparser
import errno
import hashlib
import os
@@ -109,7 +108,7 @@
cur.append(line)
c = chunk(cur)
- m = emailparser.Parser().parse(c)
+ m = pycompat.emailparser().parse(c)
if not m.is_multipart():
yield msgfp(m)
else:
@@ -218,7 +217,7 @@
fd, tmpname = tempfile.mkstemp(prefix='hg-patch-')
tmpfp = os.fdopen(fd, pycompat.sysstr('w'))
try:
- msg = emailparser.Parser().parse(fileobj)
+ msg = pycompat.emailparser().parse(fileobj)
subject = msg['Subject'] and mail.headdecode(msg['Subject'])
data['user'] = msg['From'] and mail.headdecode(msg['From'])