mirror of
				https://github.com/python/cpython.git
				synced 2025-10-29 20:51:26 +00:00 
			
		
		
		
	Fix for failure of test_urllib2 breaking test_mimetypes (SF bug 1464978)
will backport.
This commit is contained in:
		
							parent
							
								
									e94e3b440f
								
							
						
					
					
						commit
						04b9403e5b
					
				
					 2 changed files with 161 additions and 151 deletions
				
			
		
							
								
								
									
										311
									
								
								Lib/mimetypes.py
									
										
									
									
									
								
							
							
						
						
									
										311
									
								
								Lib/mimetypes.py
									
										
									
									
									
								
							|  | @ -315,162 +315,171 @@ def read_mime_types(file): | |||
|     return db.types_map[True] | ||||
| 
 | ||||
| 
 | ||||
| suffix_map = { | ||||
|     '.tgz': '.tar.gz', | ||||
|     '.taz': '.tar.gz', | ||||
|     '.tz': '.tar.gz', | ||||
|     } | ||||
| def _default_mime_types(): | ||||
|     global suffix_map | ||||
|     global encodings_map | ||||
|     global types_map | ||||
|     global common_types | ||||
| 
 | ||||
| encodings_map = { | ||||
|     '.gz': 'gzip', | ||||
|     '.Z': 'compress', | ||||
|     } | ||||
|     suffix_map = { | ||||
|         '.tgz': '.tar.gz', | ||||
|         '.taz': '.tar.gz', | ||||
|         '.tz': '.tar.gz', | ||||
|         } | ||||
| 
 | ||||
| # 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 | ||||
|     encodings_map = { | ||||
|         '.gz': 'gzip', | ||||
|         '.Z': 'compress', | ||||
|         } | ||||
| 
 | ||||
| # 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', | ||||
|     '.wsdl'   : 'application/xml', | ||||
|     '.xbm'    : 'image/x-xbitmap', | ||||
|     '.xlb'    : 'application/vnd.ms-excel', | ||||
|     # Duplicates :( | ||||
|     '.xls'    : 'application/excel', | ||||
|     '.xls'    : 'application/vnd.ms-excel', | ||||
|     '.xml'    : 'text/xml', | ||||
|     '.xpdl'   : 'application/xml', | ||||
|     '.xpm'    : 'image/x-xpixmap', | ||||
|     '.xsl'    : 'application/xml', | ||||
|     '.xwd'    : 'image/x-xwindowdump', | ||||
|     '.zip'    : 'application/zip', | ||||
|     } | ||||
|     # 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 | ||||
| 
 | ||||
| # These are non-standard types, commonly found in the wild.  They will only | ||||
| # match if strict=0 flag is given to the API methods. | ||||
|     # 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', | ||||
|         '.wsdl'   : 'application/xml', | ||||
|         '.xbm'    : 'image/x-xbitmap', | ||||
|         '.xlb'    : 'application/vnd.ms-excel', | ||||
|         # Duplicates :( | ||||
|         '.xls'    : 'application/excel', | ||||
|         '.xls'    : 'application/vnd.ms-excel', | ||||
|         '.xml'    : 'text/xml', | ||||
|         '.xpdl'   : 'application/xml', | ||||
|         '.xpm'    : 'image/x-xpixmap', | ||||
|         '.xsl'    : 'application/xml', | ||||
|         '.xwd'    : 'image/x-xwindowdump', | ||||
|         '.zip'    : 'application/zip', | ||||
|         } | ||||
| 
 | ||||
| # 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' | ||||
|     } | ||||
|     # 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__': | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Anthony Baxter
						Anthony Baxter