Remove all CRLF -> LF translation for file uploads, since we cannot

reliably distinguish binary files from text files (and Mac Netscape
sends all files in "binary" form, i.e. it sends text files with only
CR delimiters...).
This commit is contained in:
Guido van Rossum 1996-07-23 17:27:05 +00:00
parent 71e315b9d9
commit 99aa2a4132
1 changed files with 14 additions and 9 deletions

View File

@ -397,7 +397,7 @@ backwards compatible and debugging classes and functions?
"""
__version__ = "2.0b1"
__version__ = "2.0b2"
# Imports
@ -540,16 +540,20 @@ def parse_multipart(fp, pdict):
terminator = string.strip(line)
if terminator in (nextpart, lastpart):
break
if line[-2:] == '\r\n':
line = line[:-2]
elif line[-1:] == '\n':
line = line[:-1]
lines.append(line)
# Done with part.
if data is None:
continue
if bytes < 0:
data = string.joinfields(lines, "\n")
if lines:
# Strip final line terminator
line = lines[-1]
if line[-2:] == "\r\n":
line = line[:-2]
elif line[-1:] == "\n":
line = line[:-1]
lines[-1] = line
data = string.joinfields(lines, "")
line = headers['content-disposition']
if not line:
continue
@ -859,8 +863,6 @@ class FieldStorage:
self.done = -1
break
self.lines.append(line)
if line[-2:] == '\r\n':
line = line[:-2] + '\n'
self.file.write(line)
def read_lines_to_outerboundary(self):
@ -882,11 +884,14 @@ class FieldStorage:
self.done = 1
break
if line[-2:] == "\r\n":
delim = "\r\n"
line = line[:-2]
elif line[-1] == "\n":
delim = "\n"
line = line[:-1]
else:
delim = ""
self.file.write(delim + line)
delim = "\n"
def skip_lines(self):
"""Internal: skip lines until outer boundary if defined."""