Mercurial > cpython-lru_cache-weakref
diff Lib/cgi.py @ 34367:5cd4fffaf910 legacy-trunk
Patch #1079734: remove dependencies on (deprecated) rfc822 and mimetools
modules, replacing with email. Thanks to Josh Hoyt for the patch!
| author | Johannes Gijsbers <jlg@dds.nl> |
|---|---|
| date | Sat, 08 Jan 2005 13:56:36 +0000 |
| parents | 3e9a4d531e56 |
| children | 5a9134fe5709 |
line wrap: on
line diff
--- a/Lib/cgi.py Sat Jan 08 13:28:54 2005 +0000 +++ b/Lib/cgi.py Sat Jan 08 13:56:36 2005 +0000 @@ -38,8 +38,7 @@ import sys import os import urllib -import mimetools -import rfc822 +import email.Parser import UserDict try: from cStringIO import StringIO @@ -108,6 +107,8 @@ # 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 @@ 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 @@ 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 @@ 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 @@ 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)
