]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Patch #1079734: remove dependencies on (deprecated) rfc822 and mimetools
authorJohannes Gijsbers <jlg@dds.nl>
Sat, 8 Jan 2005 13:56:36 +0000 (13:56 +0000)
committerJohannes Gijsbers <jlg@dds.nl>
Sat, 8 Jan 2005 13:56:36 +0000 (13:56 +0000)
modules, replacing with email. Thanks to Josh Hoyt for the patch!

Lib/cgi.py

index 268aea0c4c90e139d6cc1bb1a60c129670dda31e..1a998685a1448e6e16df92fa76c1c3c52b8f8e11 100755 (executable)
@@ -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)