Skip to content
Merged
Prev Previous commit
Next Next commit
Remove use of OrderedDict
  • Loading branch information
davidkhess committed May 21, 2019
commit 59d1128f287347315a3561db8baa49360d05a1c8
280 changes: 139 additions & 141 deletions Lib/mimetypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@
except ImportError:
_winreg = None

from collections import OrderedDict

__all__ = [
"knownfiles", "inited", "MimeTypes",
"guess_type", "guess_all_extensions", "guess_extension",
Expand Down Expand Up @@ -411,150 +409,150 @@ def _default_mime_types():
# If you add to these, please keep them sorted by mime type.
# Make sure the entry with the preferred file extension for a particular mime type
# appears before any others of the same mimetype.
types_map = _types_map_default = OrderedDict([
('.js' , 'application/javascript'),
('.json' , 'application/json'),
('.doc' , 'application/msword'),
('.dot' , 'application/msword'),
('.wiz' , 'application/msword'),
('.bin' , 'application/octet-stream'),
('.a' , 'application/octet-stream'),
('.dll' , 'application/octet-stream'),
('.exe' , 'application/octet-stream'),
('.o' , 'application/octet-stream'),
('.obj' , 'application/octet-stream'),
('.so' , 'application/octet-stream'),
('.oda' , 'application/oda'),
('.pdf' , 'application/pdf'),
('.p7c' , 'application/pkcs7-mime'),
('.ps' , 'application/postscript'),
('.ai' , 'application/postscript'),
('.eps' , 'application/postscript'),
('.m3u' , 'application/vnd.apple.mpegurl'),
('.m3u8' , 'application/vnd.apple.mpegurl'),
('.xls' , 'application/vnd.ms-excel'),
('.xlb' , 'application/vnd.ms-excel'),
('.ppt' , 'application/vnd.ms-powerpoint'),
('.pot' , 'application/vnd.ms-powerpoint'),
('.ppa' , 'application/vnd.ms-powerpoint'),
('.pps' , 'application/vnd.ms-powerpoint'),
('.pwz' , 'application/vnd.ms-powerpoint'),
('.bcpio' , 'application/x-bcpio'),
('.cpio' , 'application/x-cpio'),
('.csh' , 'application/x-csh'),
('.dvi' , 'application/x-dvi'),
('.gtar' , 'application/x-gtar'),
('.hdf' , 'application/x-hdf'),
('.latex' , 'application/x-latex'),
('.mif' , 'application/x-mif'),
('.cdf' , 'application/x-netcdf'),
('.nc' , 'application/x-netcdf'),
('.p12' , 'application/x-pkcs12'),
('.pfx' , 'application/x-pkcs12'),
('.ram' , 'application/x-pn-realaudio'),
('.pyc' , 'application/x-python-code'),
('.pyo' , 'application/x-python-code'),
('.sh' , 'application/x-sh'),
('.shar' , 'application/x-shar'),
('.swf' , 'application/x-shockwave-flash'),
('.sv4cpio', 'application/x-sv4cpio'),
('.sv4crc' , 'application/x-sv4crc'),
('.tar' , 'application/x-tar'),
('.tcl' , 'application/x-tcl'),
('.tex' , 'application/x-tex'),
('.texi' , 'application/x-texinfo'),
('.texinfo', 'application/x-texinfo'),
('.roff' , 'application/x-troff'),
('.t' , 'application/x-troff'),
('.tr' , 'application/x-troff'),
('.man' , 'application/x-troff-man'),
('.me' , 'application/x-troff-me'),
('.ms' , 'application/x-troff-ms'),
('.ustar' , 'application/x-ustar'),
('.src' , 'application/x-wais-source'),
('.xsl' , 'application/xml'),
('.rdf' , 'application/xml'),
('.wsdl' , 'application/xml'),
('.xpdl' , 'application/xml'),
('.zip' , 'application/zip'),
('.au' , 'audio/basic'),
('.snd' , 'audio/basic'),
('.mp3' , 'audio/mpeg'),
('.mp2' , 'audio/mpeg'),
('.aif' , 'audio/x-aiff'),
('.aifc' , 'audio/x-aiff'),
('.aiff' , 'audio/x-aiff'),
('.ra' , 'audio/x-pn-realaudio'),
('.wav' , 'audio/x-wav'),
('.gif' , 'image/gif'),
('.ief' , 'image/ief'),
('.jpg' , 'image/jpeg'),
('.jpe' , 'image/jpeg'),
('.jpeg' , 'image/jpeg'),
('.png' , 'image/png'),
('.svg' , 'image/svg+xml'),
('.tiff' , 'image/tiff'),
('.tif' , 'image/tiff'),
('.ico' , 'image/vnd.microsoft.icon'),
('.ras' , 'image/x-cmu-raster'),
('.bmp' , 'image/x-ms-bmp'),
('.pnm' , 'image/x-portable-anymap'),
('.pbm' , 'image/x-portable-bitmap'),
('.pgm' , 'image/x-portable-graymap'),
('.ppm' , 'image/x-portable-pixmap'),
('.rgb' , 'image/x-rgb'),
('.xbm' , 'image/x-xbitmap'),
('.xpm' , 'image/x-xpixmap'),
('.xwd' , 'image/x-xwindowdump'),
('.eml' , 'message/rfc822'),
('.mht' , 'message/rfc822'),
('.mhtml' , 'message/rfc822'),
('.nws' , 'message/rfc822'),
('.css' , 'text/css'),
('.csv' , 'text/csv'),
('.html' , 'text/html'),
('.htm' , 'text/html'),
('.txt' , 'text/plain'),
('.bat' , 'text/plain'),
('.c' , 'text/plain'),
('.h' , 'text/plain'),
('.ksh' , 'text/plain'),
('.pl' , 'text/plain'),
('.rtx' , 'text/richtext'),
('.tsv' , 'text/tab-separated-values'),
('.py' , 'text/x-python'),
('.etx' , 'text/x-setext'),
('.sgm' , 'text/x-sgml'),
('.sgml' , 'text/x-sgml'),
('.vcf' , 'text/x-vcard'),
('.xml' , 'text/xml'),
('.mp4' , 'video/mp4'),
('.mpeg' , 'video/mpeg'),
('.m1v' , 'video/mpeg'),
('.mpa' , 'video/mpeg'),
('.mpe' , 'video/mpeg'),
('.mpg' , 'video/mpeg'),
('.mov' , 'video/quicktime'),
('.qt' , 'video/quicktime'),
('.webm' , 'video/webm'),
('.avi' , 'video/x-msvideo'),
('.movie' , 'video/x-sgi-movie'),
])
types_map = _types_map_default = {
'.js' : 'application/javascript',
'.json' : 'application/json',
'.doc' : 'application/msword',
'.dot' : 'application/msword',
'.wiz' : 'application/msword',
'.bin' : 'application/octet-stream',
'.a' : 'application/octet-stream',
'.dll' : 'application/octet-stream',
'.exe' : 'application/octet-stream',
'.o' : 'application/octet-stream',
'.obj' : 'application/octet-stream',
'.so' : 'application/octet-stream',
'.oda' : 'application/oda',
'.pdf' : 'application/pdf',
'.p7c' : 'application/pkcs7-mime',
'.ps' : 'application/postscript',
'.ai' : 'application/postscript',
'.eps' : 'application/postscript',
'.m3u' : 'application/vnd.apple.mpegurl',
'.m3u8' : 'application/vnd.apple.mpegurl',
'.xls' : 'application/vnd.ms-excel',
'.xlb' : 'application/vnd.ms-excel',
'.ppt' : 'application/vnd.ms-powerpoint',
'.pot' : 'application/vnd.ms-powerpoint',
'.ppa' : 'application/vnd.ms-powerpoint',
'.pps' : 'application/vnd.ms-powerpoint',
'.pwz' : 'application/vnd.ms-powerpoint',
'.bcpio' : 'application/x-bcpio',
'.cpio' : 'application/x-cpio',
'.csh' : 'application/x-csh',
'.dvi' : 'application/x-dvi',
'.gtar' : 'application/x-gtar',
'.hdf' : 'application/x-hdf',
'.latex' : 'application/x-latex',
'.mif' : 'application/x-mif',
'.cdf' : 'application/x-netcdf',
'.nc' : 'application/x-netcdf',
'.p12' : 'application/x-pkcs12',
'.pfx' : 'application/x-pkcs12',
'.ram' : 'application/x-pn-realaudio',
'.pyc' : 'application/x-python-code',
'.pyo' : 'application/x-python-code',
'.sh' : 'application/x-sh',
'.shar' : 'application/x-shar',
'.swf' : 'application/x-shockwave-flash',
'.sv4cpio': 'application/x-sv4cpio',
'.sv4crc' : 'application/x-sv4crc',
'.tar' : 'application/x-tar',
'.tcl' : 'application/x-tcl',
'.tex' : 'application/x-tex',
'.texi' : 'application/x-texinfo',
'.texinfo': 'application/x-texinfo',
'.roff' : 'application/x-troff',
'.t' : 'application/x-troff',
'.tr' : 'application/x-troff',
'.man' : 'application/x-troff-man',
'.me' : 'application/x-troff-me',
'.ms' : 'application/x-troff-ms',
'.ustar' : 'application/x-ustar',
'.src' : 'application/x-wais-source',
'.xsl' : 'application/xml',
'.rdf' : 'application/xml',
'.wsdl' : 'application/xml',
'.xpdl' : 'application/xml',
'.zip' : 'application/zip',
'.au' : 'audio/basic',
'.snd' : 'audio/basic',
'.mp3' : 'audio/mpeg',
'.mp2' : 'audio/mpeg',
'.aif' : 'audio/x-aiff',
'.aifc' : 'audio/x-aiff',
'.aiff' : 'audio/x-aiff',
'.ra' : 'audio/x-pn-realaudio',
'.wav' : 'audio/x-wav',
'.gif' : 'image/gif',
'.ief' : 'image/ief',
'.jpg' : 'image/jpeg',
'.jpe' : 'image/jpeg',
'.jpeg' : 'image/jpeg',
'.png' : 'image/png',
'.svg' : 'image/svg+xml',
'.tiff' : 'image/tiff',
'.tif' : 'image/tiff',
'.ico' : 'image/vnd.microsoft.icon',
'.ras' : 'image/x-cmu-raster',
'.bmp' : 'image/x-ms-bmp',
'.pnm' : 'image/x-portable-anymap',
'.pbm' : 'image/x-portable-bitmap',
'.pgm' : 'image/x-portable-graymap',
'.ppm' : 'image/x-portable-pixmap',
'.rgb' : 'image/x-rgb',
'.xbm' : 'image/x-xbitmap',
'.xpm' : 'image/x-xpixmap',
'.xwd' : 'image/x-xwindowdump',
'.eml' : 'message/rfc822',
'.mht' : 'message/rfc822',
'.mhtml' : 'message/rfc822',
'.nws' : 'message/rfc822',
'.css' : 'text/css',
'.csv' : 'text/csv',
'.html' : 'text/html',
'.htm' : 'text/html',
'.txt' : 'text/plain',
'.bat' : 'text/plain',
'.c' : 'text/plain',
'.h' : 'text/plain',
'.ksh' : 'text/plain',
'.pl' : 'text/plain',
'.rtx' : 'text/richtext',
'.tsv' : 'text/tab-separated-values',
'.py' : 'text/x-python',
'.etx' : 'text/x-setext',
'.sgm' : 'text/x-sgml',
'.sgml' : 'text/x-sgml',
'.vcf' : 'text/x-vcard',
'.xml' : 'text/xml',
'.mp4' : 'video/mp4',
'.mpeg' : 'video/mpeg',
'.m1v' : 'video/mpeg',
'.mpa' : 'video/mpeg',
'.mpe' : 'video/mpeg',
'.mpg' : 'video/mpeg',
'.mov' : 'video/quicktime',
'.qt' : 'video/quicktime',
'.webm' : 'video/webm',
'.avi' : 'video/x-msvideo',
'.movie' : 'video/x-sgi-movie',
}

# 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 = _common_types_default = OrderedDict([
('.rtf' , 'application/rtf'),
('.midi', 'audio/midi'),
('.mid' , 'audio/midi'),
('.jpg' , 'image/jpg'),
('.pict', 'image/pict'),
('.pct' , 'image/pict'),
('.pic' , 'image/pict'),
('.xul' , 'text/xul'),
])
common_types = _common_types_default = {
'.rtf' : 'application/rtf',
'.midi': 'audio/midi',
'.mid' : 'audio/midi',
'.jpg' : 'image/jpg',
'.pict': 'image/pict',
'.pct' : 'image/pict',
'.pic' : 'image/pict',
'.xul' : 'text/xul',
}


_default_mime_types()
Expand Down