[Python-checkins] r43689 - in python/branches/release24-maint/Lib: mimetypes.py test/test_mimetypes.py

anthony.baxter python-checkins at python.org
Thu Apr 6 09:36:27 CEST 2006


Author: anthony.baxter
Date: Thu Apr  6 09:36:26 2006
New Revision: 43689

Modified:
   python/branches/release24-maint/Lib/mimetypes.py
   python/branches/release24-maint/Lib/test/test_mimetypes.py
Log:
backport of 43688:
Fix for failure of test_urllib2 breaking test_mimetypes (SF bug 1464978)
will backport.


Modified: python/branches/release24-maint/Lib/mimetypes.py
==============================================================================
--- python/branches/release24-maint/Lib/mimetypes.py	(original)
+++ python/branches/release24-maint/Lib/mimetypes.py	Thu Apr  6 09:36:26 2006
@@ -315,160 +315,168 @@
     return db.types_map[True]
 
 
-suffix_map = {
-    '.tgz': '.tar.gz',
-    '.taz': '.tar.gz',
-    '.tz': '.tar.gz',
-    }
-
-encodings_map = {
-    '.gz': 'gzip',
-    '.Z': 'compress',
-    }
-
-# Before adding new types, make sure they are either registered with IANA, at
-# http://www.isi.edu/in-notes/iana/assignments/media-types
-# or extensions, i.e. using the x- prefix
-
-# If you add to these, please keep them sorted!
-types_map = {
-    '.a'      : 'application/octet-stream',
-    '.ai'     : 'application/postscript',
-    '.aif'    : 'audio/x-aiff',
-    '.aifc'   : 'audio/x-aiff',
-    '.aiff'   : 'audio/x-aiff',
-    '.au'     : 'audio/basic',
-    '.avi'    : 'video/x-msvideo',
-    '.bat'    : 'text/plain',
-    '.bcpio'  : 'application/x-bcpio',
-    '.bin'    : 'application/octet-stream',
-    '.bmp'    : 'image/x-ms-bmp',
-    '.c'      : 'text/plain',
-    # Duplicates :(
-    '.cdf'    : 'application/x-cdf',
-    '.cdf'    : 'application/x-netcdf',
-    '.cpio'   : 'application/x-cpio',
-    '.csh'    : 'application/x-csh',
-    '.css'    : 'text/css',
-    '.dll'    : 'application/octet-stream',
-    '.doc'    : 'application/msword',
-    '.dot'    : 'application/msword',
-    '.dvi'    : 'application/x-dvi',
-    '.eml'    : 'message/rfc822',
-    '.eps'    : 'application/postscript',
-    '.etx'    : 'text/x-setext',
-    '.exe'    : 'application/octet-stream',
-    '.gif'    : 'image/gif',
-    '.gtar'   : 'application/x-gtar',
-    '.h'      : 'text/plain',
-    '.hdf'    : 'application/x-hdf',
-    '.htm'    : 'text/html',
-    '.html'   : 'text/html',
-    '.ief'    : 'image/ief',
-    '.jpe'    : 'image/jpeg',
-    '.jpeg'   : 'image/jpeg',
-    '.jpg'    : 'image/jpeg',
-    '.js'     : 'application/x-javascript',
-    '.ksh'    : 'text/plain',
-    '.latex'  : 'application/x-latex',
-    '.m1v'    : 'video/mpeg',
-    '.man'    : 'application/x-troff-man',
-    '.me'     : 'application/x-troff-me',
-    '.mht'    : 'message/rfc822',
-    '.mhtml'  : 'message/rfc822',
-    '.mif'    : 'application/x-mif',
-    '.mov'    : 'video/quicktime',
-    '.movie'  : 'video/x-sgi-movie',
-    '.mp2'    : 'audio/mpeg',
-    '.mp3'    : 'audio/mpeg',
-    '.mpa'    : 'video/mpeg',
-    '.mpe'    : 'video/mpeg',
-    '.mpeg'   : 'video/mpeg',
-    '.mpg'    : 'video/mpeg',
-    '.ms'     : 'application/x-troff-ms',
-    '.nc'     : 'application/x-netcdf',
-    '.nws'    : 'message/rfc822',
-    '.o'      : 'application/octet-stream',
-    '.obj'    : 'application/octet-stream',
-    '.oda'    : 'application/oda',
-    '.p12'    : 'application/x-pkcs12',
-    '.p7c'    : 'application/pkcs7-mime',
-    '.pbm'    : 'image/x-portable-bitmap',
-    '.pdf'    : 'application/pdf',
-    '.pfx'    : 'application/x-pkcs12',
-    '.pgm'    : 'image/x-portable-graymap',
-    '.pl'     : 'text/plain',
-    '.png'    : 'image/png',
-    '.pnm'    : 'image/x-portable-anymap',
-    '.pot'    : 'application/vnd.ms-powerpoint',
-    '.ppa'    : 'application/vnd.ms-powerpoint',
-    '.ppm'    : 'image/x-portable-pixmap',
-    '.pps'    : 'application/vnd.ms-powerpoint',
-    '.ppt'    : 'application/vnd.ms-powerpoint',
-    '.ps'     : 'application/postscript',
-    '.pwz'    : 'application/vnd.ms-powerpoint',
-    '.py'     : 'text/x-python',
-    '.pyc'    : 'application/x-python-code',
-    '.pyo'    : 'application/x-python-code',
-    '.qt'     : 'video/quicktime',
-    '.ra'     : 'audio/x-pn-realaudio',
-    '.ram'    : 'application/x-pn-realaudio',
-    '.ras'    : 'image/x-cmu-raster',
-    '.rdf'    : 'application/xml',
-    '.rgb'    : 'image/x-rgb',
-    '.roff'   : 'application/x-troff',
-    '.rtx'    : 'text/richtext',
-    '.sgm'    : 'text/x-sgml',
-    '.sgml'   : 'text/x-sgml',
-    '.sh'     : 'application/x-sh',
-    '.shar'   : 'application/x-shar',
-    '.snd'    : 'audio/basic',
-    '.so'     : 'application/octet-stream',
-    '.src'    : 'application/x-wais-source',
-    '.sv4cpio': 'application/x-sv4cpio',
-    '.sv4crc' : 'application/x-sv4crc',
-    '.swf'    : 'application/x-shockwave-flash',
-    '.t'      : 'application/x-troff',
-    '.tar'    : 'application/x-tar',
-    '.tcl'    : 'application/x-tcl',
-    '.tex'    : 'application/x-tex',
-    '.texi'   : 'application/x-texinfo',
-    '.texinfo': 'application/x-texinfo',
-    '.tif'    : 'image/tiff',
-    '.tiff'   : 'image/tiff',
-    '.tr'     : 'application/x-troff',
-    '.tsv'    : 'text/tab-separated-values',
-    '.txt'    : 'text/plain',
-    '.ustar'  : 'application/x-ustar',
-    '.vcf'    : 'text/x-vcard',
-    '.wav'    : 'audio/x-wav',
-    '.wiz'    : 'application/msword',
-    '.xbm'    : 'image/x-xbitmap',
-    '.xlb'    : 'application/vnd.ms-excel',
-    # Duplicates :(
-    '.xls'    : 'application/excel',
-    '.xls'    : 'application/vnd.ms-excel',
-    '.xml'    : 'text/xml',
-    '.xpm'    : 'image/x-xpixmap',
-    '.xsl'    : 'application/xml',
-    '.xwd'    : 'image/x-xwindowdump',
-    '.zip'    : 'application/zip',
-    }
-
-# These are non-standard types, commonly found in the wild.  They will only
-# match if strict=0 flag is given to the API methods.
-
-# Please sort these too
-common_types = {
-    '.jpg' : 'image/jpg',
-    '.mid' : 'audio/midi',
-    '.midi': 'audio/midi',
-    '.pct' : 'image/pict',
-    '.pic' : 'image/pict',
-    '.pict': 'image/pict',
-    '.rtf' : 'application/rtf',
-    '.xul' : 'text/xul'
-    }
+def _default_mime_types():
+    global suffix_map
+    global encodings_map
+    global types_map
+    global common_types
+
+    suffix_map = {
+        '.tgz': '.tar.gz',
+        '.taz': '.tar.gz',
+        '.tz': '.tar.gz',
+        }
+
+    encodings_map = {
+        '.gz': 'gzip',
+        '.Z': 'compress',
+        }
+
+    # Before adding new types, make sure they are either registered with IANA, 
+    # at http://www.isi.edu/in-notes/iana/assignments/media-types
+    # or extensions, i.e. using the x- prefix
+
+    # If you add to these, please keep them sorted!
+    types_map = {
+        '.a'      : 'application/octet-stream',
+        '.ai'     : 'application/postscript',
+        '.aif'    : 'audio/x-aiff',
+        '.aifc'   : 'audio/x-aiff',
+        '.aiff'   : 'audio/x-aiff',
+        '.au'     : 'audio/basic',
+        '.avi'    : 'video/x-msvideo',
+        '.bat'    : 'text/plain',
+        '.bcpio'  : 'application/x-bcpio',
+        '.bin'    : 'application/octet-stream',
+        '.bmp'    : 'image/x-ms-bmp',
+        '.c'      : 'text/plain',
+        # Duplicates :(
+        '.cdf'    : 'application/x-cdf',
+        '.cdf'    : 'application/x-netcdf',
+        '.cpio'   : 'application/x-cpio',
+        '.csh'    : 'application/x-csh',
+        '.css'    : 'text/css',
+        '.dll'    : 'application/octet-stream',
+        '.doc'    : 'application/msword',
+        '.dot'    : 'application/msword',
+        '.dvi'    : 'application/x-dvi',
+        '.eml'    : 'message/rfc822',
+        '.eps'    : 'application/postscript',
+        '.etx'    : 'text/x-setext',
+        '.exe'    : 'application/octet-stream',
+        '.gif'    : 'image/gif',
+        '.gtar'   : 'application/x-gtar',
+        '.h'      : 'text/plain',
+        '.hdf'    : 'application/x-hdf',
+        '.htm'    : 'text/html',
+        '.html'   : 'text/html',
+        '.ief'    : 'image/ief',
+        '.jpe'    : 'image/jpeg',
+        '.jpeg'   : 'image/jpeg',
+        '.jpg'    : 'image/jpeg',
+        '.js'     : 'application/x-javascript',
+        '.ksh'    : 'text/plain',
+        '.latex'  : 'application/x-latex',
+        '.m1v'    : 'video/mpeg',
+        '.man'    : 'application/x-troff-man',
+        '.me'     : 'application/x-troff-me',
+        '.mht'    : 'message/rfc822',
+        '.mhtml'  : 'message/rfc822',
+        '.mif'    : 'application/x-mif',
+        '.mov'    : 'video/quicktime',
+        '.movie'  : 'video/x-sgi-movie',
+        '.mp2'    : 'audio/mpeg',
+        '.mp3'    : 'audio/mpeg',
+        '.mpa'    : 'video/mpeg',
+        '.mpe'    : 'video/mpeg',
+        '.mpeg'   : 'video/mpeg',
+        '.mpg'    : 'video/mpeg',
+        '.ms'     : 'application/x-troff-ms',
+        '.nc'     : 'application/x-netcdf',
+        '.nws'    : 'message/rfc822',
+        '.o'      : 'application/octet-stream',
+        '.obj'    : 'application/octet-stream',
+        '.oda'    : 'application/oda',
+        '.p12'    : 'application/x-pkcs12',
+        '.p7c'    : 'application/pkcs7-mime',
+        '.pbm'    : 'image/x-portable-bitmap',
+        '.pdf'    : 'application/pdf',
+        '.pfx'    : 'application/x-pkcs12',
+        '.pgm'    : 'image/x-portable-graymap',
+        '.pl'     : 'text/plain',
+        '.png'    : 'image/png',
+        '.pnm'    : 'image/x-portable-anymap',
+        '.pot'    : 'application/vnd.ms-powerpoint',
+        '.ppa'    : 'application/vnd.ms-powerpoint',
+        '.ppm'    : 'image/x-portable-pixmap',
+        '.pps'    : 'application/vnd.ms-powerpoint',
+        '.ppt'    : 'application/vnd.ms-powerpoint',
+        '.ps'     : 'application/postscript',
+        '.pwz'    : 'application/vnd.ms-powerpoint',
+        '.py'     : 'text/x-python',
+        '.pyc'    : 'application/x-python-code',
+        '.pyo'    : 'application/x-python-code',
+        '.qt'     : 'video/quicktime',
+        '.ra'     : 'audio/x-pn-realaudio',
+        '.ram'    : 'application/x-pn-realaudio',
+        '.ras'    : 'image/x-cmu-raster',
+        '.rdf'    : 'application/xml',
+        '.rgb'    : 'image/x-rgb',
+        '.roff'   : 'application/x-troff',
+        '.rtx'    : 'text/richtext',
+        '.sgm'    : 'text/x-sgml',
+        '.sgml'   : 'text/x-sgml',
+        '.sh'     : 'application/x-sh',
+        '.shar'   : 'application/x-shar',
+        '.snd'    : 'audio/basic',
+        '.so'     : 'application/octet-stream',
+        '.src'    : 'application/x-wais-source',
+        '.sv4cpio': 'application/x-sv4cpio',
+        '.sv4crc' : 'application/x-sv4crc',
+        '.swf'    : 'application/x-shockwave-flash',
+        '.t'      : 'application/x-troff',
+        '.tar'    : 'application/x-tar',
+        '.tcl'    : 'application/x-tcl',
+        '.tex'    : 'application/x-tex',
+        '.texi'   : 'application/x-texinfo',
+        '.texinfo': 'application/x-texinfo',
+        '.tif'    : 'image/tiff',
+        '.tiff'   : 'image/tiff',
+        '.tr'     : 'application/x-troff',
+        '.tsv'    : 'text/tab-separated-values',
+        '.txt'    : 'text/plain',
+        '.ustar'  : 'application/x-ustar',
+        '.vcf'    : 'text/x-vcard',
+        '.wav'    : 'audio/x-wav',
+        '.wiz'    : 'application/msword',
+        '.xbm'    : 'image/x-xbitmap',
+        '.xlb'    : 'application/vnd.ms-excel',
+        # Duplicates :(
+        '.xls'    : 'application/excel',
+        '.xls'    : 'application/vnd.ms-excel',
+        '.xml'    : 'text/xml',
+        '.xpm'    : 'image/x-xpixmap',
+        '.xsl'    : 'application/xml',
+        '.xwd'    : 'image/x-xwindowdump',
+        '.zip'    : 'application/zip',
+        }
+
+    # These are non-standard types, commonly found in the wild.  They will only
+    # match if strict=0 flag is given to the API methods.
+
+    # Please sort these too
+    common_types = {
+        '.jpg' : 'image/jpg',
+        '.mid' : 'audio/midi',
+        '.midi': 'audio/midi',
+        '.pct' : 'image/pict',
+        '.pic' : 'image/pict',
+        '.pict': 'image/pict',
+        '.rtf' : 'application/rtf',
+        '.xul' : 'text/xul'
+        }
+
+_default_mime_types()
 
 
 if __name__ == '__main__':

Modified: python/branches/release24-maint/Lib/test/test_mimetypes.py
==============================================================================
--- python/branches/release24-maint/Lib/test/test_mimetypes.py	(original)
+++ python/branches/release24-maint/Lib/test/test_mimetypes.py	Thu Apr  6 09:36:26 2006
@@ -8,6 +8,7 @@
 # Tell it we don't know about external files:
 mimetypes.knownfiles = []
 mimetypes.inited = False
+mimetypes._default_mime_types()
 
 
 class MimeTypesTestCase(unittest.TestCase):


More information about the Python-checkins mailing list