Staging
v0.5.1
https://github.com/python/cpython
Revision b7deff1ddc2702c7adb18bc22c484103d9460601 authored by R. David Murray on 30 January 2011, 06:21:28 UTC, committed by R. David Murray on 30 January 2011, 06:21:28 UTC
Although this patch contains API changes and is rather weighty for an
RC phase, the mailbox module was essentially unusable without the patch
since it would produce UnicodeErrors when handling non-ascii input
at arbitrary and somewhat mysterious places, and any non-trivial amount
of email processing will encounter messages with non-ascii bytes.
The release manager approved the patch application.

The changes allow binary input, and reject non-ASCII string input early
with a useful message instead of failing mysteriously later.  Binary
is used internally for reading and writing the mailbox files.  StringIO
and Text file input are deprecated.

Initial patch by Victor Stinner, validated and expanded by R. David Murray.
1 parent b02f7c0
History
Tip revision: b7deff1ddc2702c7adb18bc22c484103d9460601 authored by R. David Murray on 30 January 2011, 06:21:28 UTC
#9124: mailbox now accepts binary input and uses binary internally
Tip revision: b7deff1
File Mode Size
concurrent
ctypes
curses
dbm
distutils
email
encodings
html
http
idlelib
importlib
json
lib2to3
logging
msilib
multiprocessing
plat-aix4
plat-darwin
plat-freebsd4
plat-freebsd5
plat-freebsd6
plat-freebsd7
plat-freebsd8
plat-generic
plat-linux2
plat-netbsd1
plat-next3
plat-os2emx
plat-sunos5
plat-unixware7
pydoc_data
site-packages
sqlite3
test
tkinter
turtledemo
unittest
urllib
wsgiref
xml
xmlrpc
__future__.py -rw-r--r-- 4.5 KB
__phello__.foo.py -rw-r--r-- 64 bytes
_abcoll.py -rw-r--r-- 15.1 KB
_compat_pickle.py -rw-r--r-- 3.0 KB
_dummy_thread.py -rw-r--r-- 4.8 KB
_markupbase.py -rw-r--r-- 14.0 KB
_pyio.py -rw-r--r-- 67.3 KB
_strptime.py -rw-r--r-- 20.7 KB
_threading_local.py -rw-r--r-- 7.2 KB
_weakrefset.py -rw-r--r-- 6.2 KB
abc.py -rw-r--r-- 7.5 KB
aifc.py -rw-r--r-- 29.9 KB
antigravity.py -rw-r--r-- 475 bytes
argparse.py -rw-r--r-- 86.2 KB
ast.py -rw-r--r-- 11.9 KB
asynchat.py -rw-r--r-- 11.8 KB
asyncore.py -rw-r--r-- 20.3 KB
base64.py -rwxr-xr-x 13.8 KB
bdb.py -rw-r--r-- 20.8 KB
binhex.py -rw-r--r-- 13.2 KB
bisect.py -rw-r--r-- 2.5 KB
cProfile.py -rwxr-xr-x 6.2 KB
calendar.py -rw-r--r-- 22.1 KB
cgi.py -rwxr-xr-x 33.7 KB
cgitb.py -rw-r--r-- 11.7 KB
chunk.py -rw-r--r-- 5.3 KB
cmd.py -rw-r--r-- 14.5 KB
code.py -rw-r--r-- 9.3 KB
codecs.py -rw-r--r-- 34.5 KB
codeop.py -rw-r--r-- 5.9 KB
collections.py -rw-r--r-- 35.8 KB
colorsys.py -rw-r--r-- 3.6 KB
compileall.py -rw-r--r-- 9.4 KB
configparser.py -rw-r--r-- 47.7 KB
contextlib.py -rw-r--r-- 3.3 KB
copy.py -rw-r--r-- 10.1 KB
copyreg.py -rw-r--r-- 6.5 KB
csv.py -rw-r--r-- 15.7 KB
datetime.py -rw-r--r-- 71.8 KB
decimal.py -rw-r--r-- 217.4 KB
difflib.py -rw-r--r-- 79.4 KB
dis.py -rw-r--r-- 9.6 KB
doctest.py -rw-r--r-- 98.2 KB
dummy_threading.py -rw-r--r-- 2.7 KB
filecmp.py -rw-r--r-- 9.3 KB
fileinput.py -rw-r--r-- 14.0 KB
fnmatch.py -rw-r--r-- 3.1 KB
formatter.py -rw-r--r-- 14.6 KB
fractions.py -rw-r--r-- 22.5 KB
ftplib.py -rw-r--r-- 36.4 KB
functools.py -rw-r--r-- 8.3 KB
genericpath.py -rw-r--r-- 3.0 KB
getopt.py -rw-r--r-- 7.2 KB
getpass.py -rw-r--r-- 5.3 KB
gettext.py -rw-r--r-- 17.2 KB
glob.py -rw-r--r-- 2.2 KB
gzip.py -rw-r--r-- 21.5 KB
hashlib.py -rw-r--r-- 5.0 KB
heapq.py -rw-r--r-- 16.7 KB
hmac.py -rw-r--r-- 4.3 KB
imaplib.py -rw-r--r-- 47.0 KB
imghdr.py -rw-r--r-- 3.4 KB
inspect.py -rw-r--r-- 44.1 KB
io.py -rw-r--r-- 3.5 KB
keyword.py -rwxr-xr-x 2.0 KB
linecache.py -rw-r--r-- 3.8 KB
locale.py -rw-r--r-- 87.8 KB
macpath.py -rw-r--r-- 5.5 KB
macurl2path.py -rw-r--r-- 3.2 KB
mailbox.py -rw-r--r-- 72.8 KB
mailcap.py -rw-r--r-- 7.2 KB
mimetypes.py -rw-r--r-- 19.9 KB
modulefinder.py -rw-r--r-- 23.5 KB
netrc.py -rw-r--r-- 4.2 KB
nntplib.py -rw-r--r-- 40.5 KB
ntpath.py -rw-r--r-- 21.9 KB
nturl2path.py -rw-r--r-- 2.2 KB
numbers.py -rw-r--r-- 10.1 KB
opcode.py -rw-r--r-- 4.9 KB
optparse.py -rw-r--r-- 58.9 KB
os.py -rw-r--r-- 26.6 KB
os2emxpath.py -rw-r--r-- 4.5 KB
pdb.py -rwxr-xr-x 55.2 KB
pickle.py -rw-r--r-- 44.6 KB
pickletools.py -rw-r--r-- 77.5 KB
pipes.py -rw-r--r-- 9.2 KB
pkgutil.py -rw-r--r-- 19.3 KB
platform.py -rwxr-xr-x 50.2 KB
plistlib.py -rw-r--r-- 13.4 KB
poplib.py -rw-r--r-- 10.7 KB
posixpath.py -rw-r--r-- 13.2 KB
pprint.py -rw-r--r-- 12.4 KB
profile.py -rwxr-xr-x 22.7 KB
pstats.py -rw-r--r-- 26.2 KB
pty.py -rw-r--r-- 4.8 KB
py_compile.py -rw-r--r-- 6.4 KB
pyclbr.py -rw-r--r-- 12.9 KB
pydoc.py -rwxr-xr-x 107.7 KB
queue.py -rw-r--r-- 9.0 KB
quopri.py -rwxr-xr-x 7.1 KB
random.py -rw-r--r-- 24.7 KB
re.py -rw-r--r-- 13.8 KB
reprlib.py -rw-r--r-- 5.0 KB
rlcompleter.py -rw-r--r-- 5.5 KB
runpy.py -rw-r--r-- 10.8 KB
sched.py -rw-r--r-- 5.4 KB
shelve.py -rw-r--r-- 8.0 KB
shlex.py -rw-r--r-- 10.8 KB
shutil.py -rw-r--r-- 24.7 KB
site.py -rw-r--r-- 18.3 KB
smtpd.py -rwxr-xr-x 23.7 KB
smtplib.py -rwxr-xr-x 32.5 KB
sndhdr.py -rw-r--r-- 6.1 KB
socket.py -rw-r--r-- 13.3 KB
socketserver.py -rw-r--r-- 22.7 KB
sre_compile.py -rw-r--r-- 15.9 KB
sre_constants.py -rw-r--r-- 7.0 KB
sre_parse.py -rw-r--r-- 27.3 KB
ssl.py -rw-r--r-- 18.9 KB
stat.py -rw-r--r-- 1.7 KB
string.py -rw-r--r-- 9.5 KB
stringprep.py -rw-r--r-- 12.6 KB
struct.py -rw-r--r-- 235 bytes
subprocess.py -rw-r--r-- 58.6 KB
sunau.py -rw-r--r-- 16.4 KB
symbol.py -rwxr-xr-x 2.0 KB
symtable.py -rw-r--r-- 7.3 KB
sysconfig.py -rw-r--r-- 27.9 KB
tabnanny.py -rwxr-xr-x 11.1 KB
tarfile.py -rw-r--r-- 90.3 KB
telnetlib.py -rw-r--r-- 21.7 KB
tempfile.py -rw-r--r-- 20.7 KB
textwrap.py -rw-r--r-- 15.3 KB
this.py -rw-r--r-- 1003 bytes
threading.py -rw-r--r-- 35.9 KB
timeit.py -rw-r--r-- 11.8 KB
token.py -rwxr-xr-x 2.9 KB
tokenize.py -rw-r--r-- 20.2 KB
trace.py -rw-r--r-- 30.7 KB
traceback.py -rw-r--r-- 11.6 KB
tty.py -rw-r--r-- 879 bytes
turtle.py -rw-r--r-- 139.7 KB
types.py -rw-r--r-- 1.1 KB
uu.py -rwxr-xr-x 6.6 KB
uuid.py -rw-r--r-- 21.2 KB
warnings.py -rw-r--r-- 13.5 KB
wave.py -rw-r--r-- 17.7 KB
weakref.py -rw-r--r-- 11.2 KB
webbrowser.py -rw-r--r-- 21.2 KB
wsgiref.egg-info -rw-r--r-- 187 bytes
xdrlib.py -rw-r--r-- 5.3 KB
zipfile.py -rw-r--r-- 56.3 KB

back to top