diff options
author | Johannes Gijsbers <jlg@dds.nl> | 2005-01-08 13:56:36 (GMT) |
---|---|---|
committer | Johannes Gijsbers <jlg@dds.nl> | 2005-01-08 13:56:36 (GMT) |
commit | c7fc10a41873df6dc40055e62385c1dd198e18b6 (patch) | |
tree | bf0255df9cabfee09b81a36208c11e23ff284245 /Lib/cgi.py | |
parent | a3beee185cb374dfb2c68200e8b0332e28e73204 (diff) | |
download | cpython-c7fc10a41873df6dc40055e62385c1dd198e18b6.zip cpython-c7fc10a41873df6dc40055e62385c1dd198e18b6.tar.gz cpython-c7fc10a41873df6dc40055e62385c1dd198e18b6.tar.bz2 |
Patch #1079734: remove dependencies on (deprecated) rfc822 and mimetools
modules, replacing with email. Thanks to Josh Hoyt for the patch!
Diffstat (limited to 'Lib/cgi.py')
-rwxr-xr-x | Lib/cgi.py | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -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) |