Patch #1079734: remove dependencies on (deprecated) rfc822 and mimetools
modules, replacing with email. Thanks to Josh Hoyt for the patch!
This commit is contained in:
parent
a3beee185c
commit
c7fc10a418
16
Lib/cgi.py
16
Lib/cgi.py
|
@ -38,8 +38,7 @@ from operator import attrgetter
|
|||
import sys
|
||||
import os
|
||||
import urllib
|
||||
import mimetools
|
||||
import rfc822
|
||||
import email.Parser
|
||||
import UserDict
|
||||
try:
|
||||
from cStringIO import StringIO
|
||||
|
@ -108,6 +107,8 @@ log = initlog # The current logging function
|
|||
# Parsing functions
|
||||
# =================
|
||||
|
||||
_header_parser = email.Parser.HeaderParser()
|
||||
|
||||
# Maximum input we will accept when REQUEST_METHOD is POST
|
||||
# 0 ==> unlimited input
|
||||
maxlen = 0
|
||||
|
@ -237,7 +238,7 @@ def parse_multipart(fp, pdict):
|
|||
|
||||
Arguments:
|
||||
fp : input file
|
||||
pdict: dictionary containing other parameters of conten-type header
|
||||
pdict: dictionary containing other parameters of content-type header
|
||||
|
||||
Returns a dictionary just like parse_qs(): keys are the field names, each
|
||||
value is a list of values for that field. This is easy to use but not
|
||||
|
@ -270,7 +271,7 @@ def parse_multipart(fp, pdict):
|
|||
data = None
|
||||
if terminator:
|
||||
# At start of next part. Read headers first.
|
||||
headers = mimetools.Message(fp)
|
||||
headers = _header_parser.parse(fp)
|
||||
clength = headers.getheader('content-length')
|
||||
if clength:
|
||||
try:
|
||||
|
@ -407,8 +408,9 @@ class FieldStorage:
|
|||
|
||||
disposition_options: dictionary of corresponding options
|
||||
|
||||
headers: a dictionary(-like) object (sometimes rfc822.Message or a
|
||||
subclass thereof) containing *all* headers
|
||||
headers: a dictionary(-like) object (sometimes
|
||||
email.Message.Message or a subclass thereof) containing *all*
|
||||
headers
|
||||
|
||||
The class is subclassable, mostly for the purpose of overriding
|
||||
the make_file() method, which is called internally to come up with
|
||||
|
@ -650,7 +652,7 @@ class FieldStorage:
|
|||
environ, keep_blank_values, strict_parsing)
|
||||
# Throw first part away
|
||||
while not part.done:
|
||||
headers = rfc822.Message(self.fp)
|
||||
headers = _header_parser.parse(self.fp)
|
||||
part = klass(self.fp, headers, ib,
|
||||
environ, keep_blank_values, strict_parsing)
|
||||
self.list.append(part)
|
||||
|
|
Loading…
Reference in New Issue