summaryrefslogtreecommitdiff
path: root/Lib/mimetools.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-08-09 01:03:29 +0000
committerGuido van Rossum <guido@python.org>2007-08-09 01:03:29 +0000
commit34d1928766bcae11d8f679a6bf361d9210b6429e (patch)
tree0b3d5842a690f811fa03f3b52420bbab9f0f5524 /Lib/mimetools.py
parent918f49e645474382251bfddbb0a2e030051083ef (diff)
downloadcpython-git-34d1928766bcae11d8f679a6bf361d9210b6429e.tar.gz
SF patch# 1770008 by Christian Heimes (plus some extras).
Completely get rid of StringIO.py and cStringIO.c. I had to fix a few tests and modules beyond what Christian did, and invent a few conventions. E.g. in elementtree, I chose to write/return Unicode strings whe no encoding is given, but bytes when an explicit encoding is given. Also mimetools was made to always assume binary files.
Diffstat (limited to 'Lib/mimetools.py')
-rw-r--r--Lib/mimetools.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/Lib/mimetools.py b/Lib/mimetools.py
index 8c1cc19903..45d9d32f6a 100644
--- a/Lib/mimetools.py
+++ b/Lib/mimetools.py
@@ -144,6 +144,7 @@ def choose_boundary():
# Subroutines for decoding some common content-transfer-types
+# Input and output must be files opened in binary mode
def decode(input, output, encoding):
"""Decode common content-transfer-encodings (base64, quopri, uuencode)."""
@@ -157,7 +158,7 @@ def decode(input, output, encoding):
import uu
return uu.decode(input, output)
if encoding in ('7bit', '8bit'):
- return output.write(input.read())
+ return output.write(input.read().decode("Latin-1"))
if encoding in decodetab:
pipethrough(input, decodetab[encoding], output)
else: