added content-type entries, thanks Niphlod

This commit is contained in:
mdipierro
2013-03-02 12:54:36 -06:00
parent ea7d82acf9
commit 23af844d5b
2 changed files with 170 additions and 38 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.4.1-alpha.2+timestamp.2013.03.02.12.51.44 Version 2.4.1-alpha.2+timestamp.2013.03.02.12.54.01
+169 -37
View File
@@ -7,24 +7,35 @@ Copyrighted by Massimo Di Pierro <mdipierro@cs.depaul.edu>
License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html) License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html)
CONTENT_TYPE dictionary created against freedesktop.org' shared mime info CONTENT_TYPE dictionary created against freedesktop.org' shared mime info
database version 0.70. database version 1.1.
Deviations from official standards:
- '.md': 'application/x-genesis-rom' --> 'text/x-markdown'
- '.png': 'image/x-apple-ios-png' --> 'image/png'
Additions:
- '.load': 'text/html'
- '.json': 'application/json'
- '.jsonp': 'application/jsonp'
- '.pickle': 'application/python-pickle'
- '.w2p': 'application/w2p'
""" """
__all__ = ['contenttype'] __all__ = ['contenttype']
CONTENT_TYPE = { CONTENT_TYPE = {
'.load': 'text/html',
'.123': 'application/vnd.lotus-1-2-3', '.123': 'application/vnd.lotus-1-2-3',
'.3ds': 'image/x-3ds', '.3ds': 'image/x-3ds',
'.3g2': 'video/3gpp', '.3g2': 'video/3gpp2',
'.3ga': 'video/3gpp', '.3ga': 'video/3gpp',
'.3gp': 'video/3gpp', '.3gp': 'video/3gpp',
'.3gp2': 'video/3gpp2',
'.3gpp': 'video/3gpp', '.3gpp': 'video/3gpp',
'.3gpp2': 'video/3gpp2',
'.602': 'application/x-t602', '.602': 'application/x-t602',
'.669': 'audio/x-mod', '.669': 'audio/x-mod',
'.7z': 'application/x-7z-compressed', '.7z': 'application/x-7z-compressed',
'.a': 'application/x-archive', '.a': 'application/x-archive',
'.aac': 'audio/mp4', '.aac': 'audio/aac',
'.abw': 'application/x-abiword', '.abw': 'application/x-abiword',
'.abw.crashed': 'application/x-abiword', '.abw.crashed': 'application/x-abiword',
'.abw.gz': 'application/x-abiword', '.abw.gz': 'application/x-abiword',
@@ -36,15 +47,19 @@ CONTENT_TYPE = {
'.ag': 'image/x-applix-graphics', '.ag': 'image/x-applix-graphics',
'.ai': 'application/illustrator', '.ai': 'application/illustrator',
'.aif': 'audio/x-aiff', '.aif': 'audio/x-aiff',
'.aifc': 'audio/x-aiff', '.aifc': 'audio/x-aifc',
'.aiff': 'audio/x-aiff', '.aiff': 'audio/x-aiff',
'.aiffc': 'audio/x-aifc',
'.al': 'application/x-perl', '.al': 'application/x-perl',
'.alz': 'application/x-alz', '.alz': 'application/x-alz',
'.amr': 'audio/amr', '.amr': 'audio/amr',
'.amz': 'audio/x-amzxml',
'.ani': 'application/x-navi-animation', '.ani': 'application/x-navi-animation',
'.anim[1-9j]': 'video/x-anim', '.anim[1-9j]': 'video/x-anim',
'.anx': 'application/annodex', '.anx': 'application/annodex',
'.ape': 'audio/x-ape', '.ape': 'audio/x-ape',
'.apk': 'application/vnd.android.package-archive',
'.ar': 'application/x-archive',
'.arj': 'application/x-arj', '.arj': 'application/x-arj',
'.arw': 'image/x-sony-arw', '.arw': 'image/x-sony-arw',
'.as': 'application/x-applix-spreadsheet', '.as': 'application/x-applix-spreadsheet',
@@ -55,6 +70,7 @@ CONTENT_TYPE = {
'.asx': 'audio/x-ms-asx', '.asx': 'audio/x-ms-asx',
'.atom': 'application/atom+xml', '.atom': 'application/atom+xml',
'.au': 'audio/basic', '.au': 'audio/basic',
'.avf': 'video/x-msvideo',
'.avi': 'video/x-msvideo', '.avi': 'video/x-msvideo',
'.aw': 'application/x-applix-word', '.aw': 'application/x-applix-word',
'.awb': 'audio/amr-wb', '.awb': 'audio/amr-wb',
@@ -64,6 +80,8 @@ CONTENT_TYPE = {
'.bak': 'application/x-trash', '.bak': 'application/x-trash',
'.bcpio': 'application/x-bcpio', '.bcpio': 'application/x-bcpio',
'.bdf': 'application/x-font-bdf', '.bdf': 'application/x-font-bdf',
'.bdm': 'video/mp2t',
'.bdmv': 'video/mp2t',
'.bib': 'text/x-bibtex', '.bib': 'text/x-bibtex',
'.bin': 'application/octet-stream', '.bin': 'application/octet-stream',
'.blend': 'application/x-blender', '.blend': 'application/x-blender',
@@ -74,25 +92,32 @@ CONTENT_TYPE = {
'.c': 'text/x-csrc', '.c': 'text/x-csrc',
'.c++': 'text/x-c++src', '.c++': 'text/x-c++src',
'.cab': 'application/vnd.ms-cab-compressed', '.cab': 'application/vnd.ms-cab-compressed',
'.cap': 'application/vnd.tcpdump.pcap',
'.cb7': 'application/x-cb7', '.cb7': 'application/x-cb7',
'.cbl': 'text/x-cobol',
'.cbr': 'application/x-cbr', '.cbr': 'application/x-cbr',
'.cbt': 'application/x-cbt', '.cbt': 'application/x-cbt',
'.cbz': 'application/x-cbz', '.cbz': 'application/x-cbz',
'.cc': 'text/x-c++src', '.cc': 'text/x-c++src',
'.ccmx': 'application/x-ccmx',
'.cdf': 'application/x-netcdf', '.cdf': 'application/x-netcdf',
'.cdr': 'application/vnd.corel-draw', '.cdr': 'application/vnd.corel-draw',
'.cer': 'application/x-x509-ca-cert', '.cer': 'application/pkix-cert',
'.cert': 'application/x-x509-ca-cert', '.cert': 'application/x-x509-ca-cert',
'.cgm': 'image/cgm', '.cgm': 'image/cgm',
'.chm': 'application/x-chm', '.chm': 'application/vnd.ms-htmlhelp',
'.chrt': 'application/x-kchart', '.chrt': 'application/x-kchart',
'.class': 'application/x-java', '.class': 'application/x-java',
'.clpi': 'video/mp2t',
'.cls': 'text/x-tex', '.cls': 'text/x-tex',
'.cmake': 'text/x-cmake', '.cmake': 'text/x-cmake',
'.cob': 'text/x-cobol',
'.cpi': 'video/mp2t',
'.cpio': 'application/x-cpio', '.cpio': 'application/x-cpio',
'.cpio.gz': 'application/x-cpio-compressed', '.cpio.gz': 'application/x-cpio-compressed',
'.cpp': 'text/x-c++src', '.cpp': 'text/x-c++src',
'.cr2': 'image/x-canon-cr2', '.cr2': 'image/x-canon-cr2',
'.crl': 'application/pkix-crl',
'.crt': 'application/x-x509-ca-cert', '.crt': 'application/x-x509-ca-cert',
'.crw': 'image/x-canon-crw', '.crw': 'image/x-canon-crw',
'.cs': 'text/x-csharp', '.cs': 'text/x-csharp',
@@ -114,19 +139,26 @@ CONTENT_TYPE = {
'.deb': 'application/x-deb', '.deb': 'application/x-deb',
'.der': 'application/x-x509-ca-cert', '.der': 'application/x-x509-ca-cert',
'.desktop': 'application/x-desktop', '.desktop': 'application/x-desktop',
'.di': 'text/x-dsrc',
'.dia': 'application/x-dia-diagram', '.dia': 'application/x-dia-diagram',
'.diff': 'text/x-patch', '.diff': 'text/x-patch',
'.divx': 'video/x-msvideo', '.divx': 'video/x-msvideo',
'.djv': 'image/vnd.djvu', '.djv': 'image/vnd.djvu',
'.djvu': 'image/vnd.djvu', '.djvu': 'image/vnd.djvu',
'.dmg': 'application/x-apple-diskimage',
'.dmp': 'application/vnd.tcpdump.pcap',
'.dng': 'image/x-adobe-dng', '.dng': 'image/x-adobe-dng',
'.doc': 'application/msword', '.doc': 'application/msword',
'.docbook': 'application/docbook+xml', '.docbook': 'application/x-docbook+xml',
'.docm': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', '.docm': 'application/vnd.ms-word.document.macroenabled.12',
'.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'.dot': 'text/vnd.graphviz', '.dot': 'text/vnd.graphviz',
'.dotm': 'application/vnd.ms-word.template.macroenabled.12',
'.dotx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
'.dsl': 'text/x-dsl', '.dsl': 'text/x-dsl',
'.dtd': 'application/xml-dtd', '.dtd': 'application/xml-dtd',
'.dts': 'audio/vnd.dts',
'.dtshd': 'audio/vnd.dts.hd',
'.dtx': 'text/x-tex', '.dtx': 'text/x-tex',
'.dv': 'video/dv', '.dv': 'video/dv',
'.dvi': 'application/x-dvi', '.dvi': 'application/x-dvi',
@@ -139,6 +171,7 @@ CONTENT_TYPE = {
'.eif': 'text/x-eiffel', '.eif': 'text/x-eiffel',
'.el': 'text/x-emacs-lisp', '.el': 'text/x-emacs-lisp',
'.emf': 'image/x-emf', '.emf': 'image/x-emf',
'.eml': 'message/rfc822',
'.emp': 'application/vnd.emusic-emusic_package', '.emp': 'application/vnd.emusic-emusic_package',
'.ent': 'application/xml-external-parsed-entity', '.ent': 'application/xml-external-parsed-entity',
'.eps': 'image/x-eps', '.eps': 'image/x-eps',
@@ -159,36 +192,47 @@ CONTENT_TYPE = {
'.exr': 'image/x-exr', '.exr': 'image/x-exr',
'.ez': 'application/andrew-inset', '.ez': 'application/andrew-inset',
'.f': 'text/x-fortran', '.f': 'text/x-fortran',
'.f4a': 'audio/mp4',
'.f4b': 'audio/x-m4b',
'.f4v': 'video/mp4',
'.f90': 'text/x-fortran', '.f90': 'text/x-fortran',
'.f95': 'text/x-fortran', '.f95': 'text/x-fortran',
'.fb2': 'application/x-fictionbook+xml', '.fb2': 'application/x-fictionbook+xml',
'.fig': 'image/x-xfig', '.fig': 'image/x-xfig',
'.fits': 'image/fits', '.fits': 'image/fits',
'.fl': 'application/x-fluid', '.fl': 'application/x-fluid',
'.flac': 'audio/x-flac', '.flac': 'audio/flac',
'.flc': 'video/x-flic', '.flc': 'video/x-flic',
'.fli': 'video/x-flic', '.fli': 'video/x-flic',
'.flv': 'video/x-flv', '.flv': 'video/x-flv',
'.flw': 'application/x-kivio', '.flw': 'application/x-kivio',
'.fo': 'text/x-xslfo', '.fo': 'text/x-xslfo',
'.fodg': 'application/vnd.oasis.opendocument.graphics-flat-xml',
'.fodp': 'application/vnd.oasis.opendocument.presentation-flat-xml',
'.fods': 'application/vnd.oasis.opendocument.spreadsheet-flat-xml',
'.fodt': 'application/vnd.oasis.opendocument.text-flat-xml',
'.for': 'text/x-fortran', '.for': 'text/x-fortran',
'.fxm': 'video/x-javafx',
'.g3': 'image/fax-g3', '.g3': 'image/fax-g3',
'.gb': 'application/x-gameboy-rom', '.gb': 'application/x-gameboy-rom',
'.gba': 'application/x-gba-rom', '.gba': 'application/x-gba-rom',
'.gcrd': 'text/directory', '.gcrd': 'text/vcard',
'.ged': 'application/x-gedcom', '.ged': 'application/x-gedcom',
'.gedcom': 'application/x-gedcom', '.gedcom': 'application/x-gedcom',
'.gem': 'application/x-tar',
'.gen': 'application/x-genesis-rom', '.gen': 'application/x-genesis-rom',
'.gf': 'application/x-tex-gf', '.gf': 'application/x-tex-gf',
'.gg': 'application/x-sms-rom', '.gg': 'application/x-sms-rom',
'.gif': 'image/gif', '.gif': 'image/gif',
'.glade': 'application/x-glade', '.glade': 'application/x-glade',
'.gml': 'application/gml+xml',
'.gmo': 'application/x-gettext-translation', '.gmo': 'application/x-gettext-translation',
'.gnc': 'application/x-gnucash', '.gnc': 'application/x-gnucash',
'.gnd': 'application/gnunet-directory', '.gnd': 'application/gnunet-directory',
'.gnucash': 'application/x-gnucash', '.gnucash': 'application/x-gnucash',
'.gnumeric': 'application/x-gnumeric', '.gnumeric': 'application/x-gnumeric',
'.gnuplot': 'application/x-gnuplot', '.gnuplot': 'application/x-gnuplot',
'.go': 'text/x-go',
'.gp': 'application/x-gnuplot', '.gp': 'application/x-gnuplot',
'.gpg': 'application/pgp-encrypted', '.gpg': 'application/pgp-encrypted',
'.gplt': 'application/x-gnuplot', '.gplt': 'application/x-gnuplot',
@@ -198,11 +242,16 @@ CONTENT_TYPE = {
'.gtar': 'application/x-tar', '.gtar': 'application/x-tar',
'.gv': 'text/vnd.graphviz', '.gv': 'text/vnd.graphviz',
'.gvp': 'text/x-google-video-pointer', '.gvp': 'text/x-google-video-pointer',
'.gz': 'application/x-gzip', '.gz': 'application/gzip',
'.h': 'text/x-chdr', '.h': 'text/x-chdr',
'.h++': 'text/x-c++hdr', '.h++': 'text/x-c++hdr',
'.h4': 'application/x-hdf',
'.h5': 'application/x-hdf',
'.hdf': 'application/x-hdf', '.hdf': 'application/x-hdf',
'.hdf4': 'application/x-hdf',
'.hdf5': 'application/x-hdf',
'.hh': 'text/x-c++hdr', '.hh': 'text/x-c++hdr',
'.hlp': 'application/winhlp',
'.hp': 'text/x-c++hdr', '.hp': 'text/x-c++hdr',
'.hpgl': 'application/vnd.hp-hpgl', '.hpgl': 'application/vnd.hp-hpgl',
'.hpp': 'text/x-c++hdr', '.hpp': 'text/x-c++hdr',
@@ -214,12 +263,14 @@ CONTENT_TYPE = {
'.hxx': 'text/x-c++hdr', '.hxx': 'text/x-c++hdr',
'.ica': 'application/x-ica', '.ica': 'application/x-ica',
'.icb': 'image/x-tga', '.icb': 'image/x-tga',
'.icc': 'application/vnd.iccprofile',
'.icm': 'application/vnd.iccprofile',
'.icns': 'image/x-icns', '.icns': 'image/x-icns',
'.ico': 'image/vnd.microsoft.icon', '.ico': 'image/vnd.microsoft.icon',
'.ics': 'text/calendar', '.ics': 'text/calendar',
'.idl': 'text/x-idl', '.idl': 'text/x-idl',
'.ief': 'image/ief', '.ief': 'image/ief',
'.iff': 'image/x-iff', '.iff': 'image/x-ilbm',
'.ilbm': 'image/x-ilbm', '.ilbm': 'image/x-ilbm',
'.ime': 'text/x-imelody', '.ime': 'text/x-imelody',
'.imy': 'text/x-imelody', '.imy': 'text/x-imelody',
@@ -228,10 +279,13 @@ CONTENT_TYPE = {
'.iso': 'application/x-cd-image', '.iso': 'application/x-cd-image',
'.iso9660': 'application/x-cd-image', '.iso9660': 'application/x-cd-image',
'.it': 'audio/x-it', '.it': 'audio/x-it',
'.it87': 'application/x-it87',
'.j2k': 'image/jp2', '.j2k': 'image/jp2',
'.jad': 'text/vnd.sun.j2me.app-descriptor', '.jad': 'text/vnd.sun.j2me.app-descriptor',
'.jar': 'application/x-java-archive', '.jar': 'application/x-java-archive',
'.java': 'text/x-java', '.java': 'text/x-java',
'.jceks': 'application/x-java-jce-keystore',
'.jks': 'application/x-java-keystore',
'.jng': 'image/x-jng', '.jng': 'image/x-jng',
'.jnlp': 'application/x-java-jnlp-file', '.jnlp': 'application/x-java-jnlp-file',
'.jp2': 'image/jp2', '.jp2': 'image/jp2',
@@ -263,21 +317,26 @@ CONTENT_TYPE = {
'.kpr': 'application/x-kpresenter', '.kpr': 'application/x-kpresenter',
'.kpt': 'application/x-kpresenter', '.kpt': 'application/x-kpresenter',
'.kra': 'application/x-krita', '.kra': 'application/x-krita',
'.ks': 'application/x-java-keystore',
'.ksp': 'application/x-kspread', '.ksp': 'application/x-kspread',
'.kud': 'application/x-kugar', '.kud': 'application/x-kugar',
'.kwd': 'application/x-kword', '.kwd': 'application/x-kword',
'.kwt': 'application/x-kword', '.kwt': 'application/x-kword',
'.la': 'application/x-shared-library-la', '.la': 'application/x-shared-library-la',
'.latex': 'text/x-tex', '.latex': 'text/x-tex',
'.lbm': 'image/x-ilbm',
'.ldif': 'text/x-ldif', '.ldif': 'text/x-ldif',
'.lha': 'application/x-lha', '.lha': 'application/x-lha',
'.lhs': 'text/x-literate-haskell', '.lhs': 'text/x-literate-haskell',
'.lhz': 'application/x-lhz', '.lhz': 'application/x-lhz',
'.load' : 'text/html',
'.log': 'text/x-log', '.log': 'text/x-log',
'.lrz': 'application/x-lrzip',
'.ltx': 'text/x-tex', '.ltx': 'text/x-tex',
'.lua': 'text/x-lua', '.lua': 'text/x-lua',
'.lwo': 'image/x-lwo', '.lwo': 'image/x-lwo',
'.lwob': 'image/x-lwo', '.lwob': 'image/x-lwo',
'.lwp': 'application/vnd.lotus-wordpro',
'.lws': 'image/x-lws', '.lws': 'image/x-lws',
'.ly': 'text/x-lilypond', '.ly': 'text/x-lilypond',
'.lyx': 'application/x-lyx', '.lyx': 'application/x-lyx',
@@ -287,37 +346,49 @@ CONTENT_TYPE = {
'.lzo': 'application/x-lzop', '.lzo': 'application/x-lzop',
'.m': 'text/x-matlab', '.m': 'text/x-matlab',
'.m15': 'audio/x-mod', '.m15': 'audio/x-mod',
'.m2t': 'video/mpeg', '.m1u': 'video/vnd.mpegurl',
'.m3u': 'audio/x-mpegurl', '.m2t': 'video/mp2t',
'.m3u8': 'audio/x-mpegurl', '.m2ts': 'video/mp2t',
'.m3u': 'application/vnd.apple.mpegurl',
'.m3u8': 'application/vnd.apple.mpegurl',
'.m4': 'application/x-m4', '.m4': 'application/x-m4',
'.m4a': 'audio/mp4', '.m4a': 'audio/mp4',
'.m4b': 'audio/x-m4b', '.m4b': 'audio/x-m4b',
'.m4u': 'video/vnd.mpegurl',
'.m4v': 'video/mp4', '.m4v': 'video/mp4',
'.mab': 'application/x-markaby', '.mab': 'application/x-markaby',
'.mak': 'text/x-makefile',
'.man': 'application/x-troff-man', '.man': 'application/x-troff-man',
'.manifest': 'text/cache-manifest',
'.markdown': 'text/x-markdown',
'.mbox': 'application/mbox', '.mbox': 'application/mbox',
'.md': 'application/x-genesis-rom', '.md': 'text/x-markdown',
'.mdb': 'application/vnd.ms-access', '.mdb': 'application/vnd.ms-access',
'.mdi': 'image/vnd.ms-modi', '.mdi': 'image/vnd.ms-modi',
'.me': 'text/x-troff-me', '.me': 'text/x-troff-me',
'.med': 'audio/x-mod', '.med': 'audio/x-mod',
'.meta4': 'application/metalink4+xml',
'.metalink': 'application/metalink+xml', '.metalink': 'application/metalink+xml',
'.mgp': 'application/x-magicpoint', '.mgp': 'application/x-magicpoint',
'.mht': 'application/x-mimearchive',
'.mhtml': 'application/x-mimearchive',
'.mid': 'audio/midi', '.mid': 'audio/midi',
'.midi': 'audio/midi', '.midi': 'audio/midi',
'.mif': 'application/x-mif', '.mif': 'application/x-mif',
'.minipsf': 'audio/x-minipsf', '.minipsf': 'audio/x-minipsf',
'.mk': 'text/x-makefile',
'.mka': 'audio/x-matroska', '.mka': 'audio/x-matroska',
'.mkd': 'text/x-markdown',
'.mkv': 'video/x-matroska', '.mkv': 'video/x-matroska',
'.ml': 'text/x-ocaml', '.ml': 'text/x-ocaml',
'.mli': 'text/x-ocaml', '.mli': 'text/x-ocaml',
'.mm': 'text/x-troff-mm', '.mm': 'text/x-troff-mm',
'.mmf': 'application/x-smaf', '.mmf': 'application/x-smaf',
'.mml': 'text/mathml', '.mml': 'application/mathml+xml',
'.mng': 'video/x-mng', '.mng': 'video/x-mng',
'.mo': 'application/x-gettext-translation', '.mo': 'text/x-modelica',
'.mo3': 'audio/x-mo3', '.mo3': 'audio/x-mo3',
'.mobi': 'application/x-mobipocket-ebook',
'.moc': 'text/x-moc', '.moc': 'text/x-moc',
'.mod': 'audio/x-mod', '.mod': 'audio/x-mod',
'.mof': 'text/x-mof', '.mof': 'text/x-mof',
@@ -333,6 +404,8 @@ CONTENT_TYPE = {
'.mpeg': 'video/mpeg', '.mpeg': 'video/mpeg',
'.mpg': 'video/mpeg', '.mpg': 'video/mpeg',
'.mpga': 'audio/mpeg', '.mpga': 'audio/mpeg',
'.mpl': 'video/mp2t',
'.mpls': 'video/mp2t',
'.mpp': 'audio/x-musepack', '.mpp': 'audio/x-musepack',
'.mrl': 'text/x-mrml', '.mrl': 'text/x-mrml',
'.mrml': 'text/x-mrml', '.mrml': 'text/x-mrml',
@@ -342,8 +415,10 @@ CONTENT_TYPE = {
'.msod': 'image/x-msod', '.msod': 'image/x-msod',
'.msx': 'application/x-msx-rom', '.msx': 'application/x-msx-rom',
'.mtm': 'audio/x-mod', '.mtm': 'audio/x-mod',
'.mts': 'video/mp2t',
'.mup': 'text/x-mup', '.mup': 'text/x-mup',
'.mxf': 'application/mxf', '.mxf': 'application/mxf',
'.mxu': 'video/vnd.mpegurl',
'.n64': 'application/x-n64-rom', '.n64': 'application/x-n64-rom',
'.nb': 'application/mathematica', '.nb': 'application/mathematica',
'.nc': 'application/x-netcdf', '.nc': 'application/x-netcdf',
@@ -354,6 +429,7 @@ CONTENT_TYPE = {
'.not': 'text/x-mup', '.not': 'text/x-mup',
'.nsc': 'application/x-netshow-channel', '.nsc': 'application/x-netshow-channel',
'.nsv': 'video/x-nsv', '.nsv': 'video/x-nsv',
'.nzb': 'application/x-nzb',
'.o': 'application/x-object', '.o': 'application/x-object',
'.obj': 'application/x-tgif', '.obj': 'application/x-tgif',
'.ocl': 'text/x-ocl', '.ocl': 'text/x-ocl',
@@ -367,14 +443,16 @@ CONTENT_TYPE = {
'.odp': 'application/vnd.oasis.opendocument.presentation', '.odp': 'application/vnd.oasis.opendocument.presentation',
'.ods': 'application/vnd.oasis.opendocument.spreadsheet', '.ods': 'application/vnd.oasis.opendocument.spreadsheet',
'.odt': 'application/vnd.oasis.opendocument.text', '.odt': 'application/vnd.oasis.opendocument.text',
'.oga': 'audio/ogg', '.oga': 'audio/x-speex+ogg',
'.ogg': 'video/x-theora+ogg', '.ogg': 'video/x-theora+ogg',
'.ogm': 'video/x-ogm+ogg', '.ogm': 'video/x-ogm+ogg',
'.ogv': 'video/ogg', '.ogv': 'video/x-theora+ogg',
'.ogx': 'application/ogg', '.ogx': 'application/ogg',
'.old': 'application/x-trash', '.old': 'application/x-trash',
'.oleo': 'application/x-oleo', '.oleo': 'application/x-oleo',
'.ooc': 'text/x-ooc',
'.opml': 'text/x-opml+xml', '.opml': 'text/x-opml+xml',
'.oprc': 'application/vnd.palm',
'.ora': 'image/openraster', '.ora': 'image/openraster',
'.orf': 'image/x-olympus-orf', '.orf': 'image/x-olympus-orf',
'.otc': 'application/vnd.oasis.opendocument.chart-template', '.otc': 'application/vnd.oasis.opendocument.chart-template',
@@ -385,29 +463,36 @@ CONTENT_TYPE = {
'.ots': 'application/vnd.oasis.opendocument.spreadsheet-template', '.ots': 'application/vnd.oasis.opendocument.spreadsheet-template',
'.ott': 'application/vnd.oasis.opendocument.text-template', '.ott': 'application/vnd.oasis.opendocument.text-template',
'.owl': 'application/rdf+xml', '.owl': 'application/rdf+xml',
'.oxps': 'application/oxps',
'.oxt': 'application/vnd.openofficeorg.extension', '.oxt': 'application/vnd.openofficeorg.extension',
'.p': 'text/x-pascal', '.p': 'text/x-pascal',
'.p10': 'application/pkcs10', '.p10': 'application/pkcs10',
'.p12': 'application/x-pkcs12', '.p12': 'application/x-pkcs12',
'.p7b': 'application/x-pkcs7-certificates', '.p7b': 'application/x-pkcs7-certificates',
'.p7c': 'application/pkcs7-mime',
'.p7m': 'application/pkcs7-mime',
'.p7s': 'application/pkcs7-signature', '.p7s': 'application/pkcs7-signature',
'.p8': 'application/pkcs8',
'.pack': 'application/x-java-pack200', '.pack': 'application/x-java-pack200',
'.pak': 'application/x-pak', '.pak': 'application/x-pak',
'.par2': 'application/x-par2', '.par2': 'application/x-par2',
'.pas': 'text/x-pascal', '.pas': 'text/x-pascal',
'.patch': 'text/x-patch', '.patch': 'text/x-patch',
'.pbm': 'image/x-portable-bitmap', '.pbm': 'image/x-portable-bitmap',
'.pcap': 'application/vnd.tcpdump.pcap',
'.pcd': 'image/x-photo-cd', '.pcd': 'image/x-photo-cd',
'.pcf': 'application/x-cisco-vpn-settings', '.pcf': 'application/x-cisco-vpn-settings',
'.pcf.gz': 'application/x-font-pcf', '.pcf.gz': 'application/x-font-pcf',
'.pcf.z': 'application/x-font-pcf', '.pcf.z': 'application/x-font-pcf',
'.pcl': 'application/vnd.hp-pcl', '.pcl': 'application/vnd.hp-pcl',
'.pct': 'image/x-pict',
'.pcx': 'image/x-pcx', '.pcx': 'image/x-pcx',
'.pdb': 'chemical/x-pdb', '.pdb': 'chemical/x-pdb',
'.pdc': 'application/x-aportisdoc', '.pdc': 'application/x-aportisdoc',
'.pdf': 'application/pdf', '.pdf': 'application/pdf',
'.pdf.bz2': 'application/x-bzpdf', '.pdf.bz2': 'application/x-bzpdf',
'.pdf.gz': 'application/x-gzpdf', '.pdf.gz': 'application/x-gzpdf',
'.pdf.xz': 'application/x-xzpdf',
'.pef': 'image/x-pentax-pef', '.pef': 'image/x-pentax-pef',
'.pem': 'application/x-x509-ca-cert', '.pem': 'application/x-x509-ca-cert',
'.perl': 'application/x-perl', '.perl': 'application/x-perl',
@@ -420,10 +505,11 @@ CONTENT_TYPE = {
'.php': 'application/x-php', '.php': 'application/x-php',
'.php3': 'application/x-php', '.php3': 'application/x-php',
'.php4': 'application/x-php', '.php4': 'application/x-php',
'.php5': 'application/x-php',
'.phps': 'application/x-php',
'.pict': 'image/x-pict', '.pict': 'image/x-pict',
'.pict1': 'image/x-pict', '.pict1': 'image/x-pict',
'.pict2': 'image/x-pict', '.pict2': 'image/x-pict',
'.pickle': 'application/python-pickle',
'.pk': 'application/x-tex-pk', '.pk': 'application/x-tex-pk',
'.pkipath': 'application/pkix-pkipath', '.pkipath': 'application/pkix-pkipath',
'.pkr': 'application/pgp-keys', '.pkr': 'application/pgp-keys',
@@ -432,19 +518,25 @@ CONTENT_TYPE = {
'.pln': 'application/x-planperfect', '.pln': 'application/x-planperfect',
'.pls': 'audio/x-scpls', '.pls': 'audio/x-scpls',
'.pm': 'application/x-perl', '.pm': 'application/x-perl',
'.png': 'image/png', '.png': 'image/x-apple-ios-png',
'.pnm': 'image/x-portable-anymap', '.pnm': 'image/x-portable-anymap',
'.pntg': 'image/x-macpaint', '.pntg': 'image/x-macpaint',
'.po': 'text/x-gettext-translation', '.po': 'text/x-gettext-translation',
'.por': 'application/x-spss-por', '.por': 'application/x-spss-por',
'.pot': 'text/x-gettext-translation-template', '.pot': 'text/x-gettext-translation-template',
'.potm': 'application/vnd.ms-powerpoint.template.macroenabled.12',
'.potx': 'application/vnd.openxmlformats-officedocument.presentationml.template',
'.ppam': 'application/vnd.ms-powerpoint.addin.macroenabled.12',
'.ppm': 'image/x-portable-pixmap', '.ppm': 'image/x-portable-pixmap',
'.pps': 'application/vnd.ms-powerpoint', '.pps': 'application/vnd.ms-powerpoint',
'.ppsm': 'application/vnd.ms-powerpoint.slideshow.macroenabled.12',
'.ppsx': 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
'.ppt': 'application/vnd.ms-powerpoint', '.ppt': 'application/vnd.ms-powerpoint',
'.pptm': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', '.pptm': 'application/vnd.ms-powerpoint.presentation.macroenabled.12',
'.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'.ppz': 'application/vnd.ms-powerpoint', '.ppz': 'application/vnd.ms-powerpoint',
'.prc': 'application/x-palm-database', '.pqa': 'application/vnd.palm',
'.prc': 'application/vnd.palm',
'.ps': 'application/postscript', '.ps': 'application/postscript',
'.ps.bz2': 'application/x-bzpostscript', '.ps.bz2': 'application/x-bzpostscript',
'.ps.gz': 'application/x-gzpostscript', '.ps.gz': 'application/x-gzpostscript',
@@ -457,9 +549,13 @@ CONTENT_TYPE = {
'.pw': 'application/x-pw', '.pw': 'application/x-pw',
'.py': 'text/x-python', '.py': 'text/x-python',
'.pyc': 'application/x-python-bytecode', '.pyc': 'application/x-python-bytecode',
'.pickle': 'application/python-pickle',
'.pyo': 'application/x-python-bytecode', '.pyo': 'application/x-python-bytecode',
'.qif': 'image/x-quicktime', '.qif': 'image/x-quicktime',
'.qml': 'text/x-qml',
'.qt': 'video/quicktime', '.qt': 'video/quicktime',
'.qti': 'application/x-qtiplot',
'.qti.gz': 'application/x-qtiplot',
'.qtif': 'image/x-quicktime', '.qtif': 'image/x-quicktime',
'.qtl': 'application/x-quicktime-media-link', '.qtl': 'application/x-quicktime-media-link',
'.qtvr': 'video/quicktime', '.qtvr': 'video/quicktime',
@@ -474,7 +570,7 @@ CONTENT_TYPE = {
'.rdf': 'application/rdf+xml', '.rdf': 'application/rdf+xml',
'.rdfs': 'application/rdf+xml', '.rdfs': 'application/rdf+xml',
'.reg': 'text/x-ms-regedit', '.reg': 'text/x-ms-regedit',
'.rej': 'application/x-reject', '.rej': 'text/x-reject',
'.rgb': 'image/x-rgb', '.rgb': 'image/x-rgb',
'.rle': 'image/rle', '.rle': 'image/rle',
'.rm': 'application/vnd.rn-realmedia', '.rm': 'application/vnd.rn-realmedia',
@@ -483,6 +579,8 @@ CONTENT_TYPE = {
'.rms': 'application/vnd.rn-realmedia', '.rms': 'application/vnd.rn-realmedia',
'.rmvb': 'application/vnd.rn-realmedia', '.rmvb': 'application/vnd.rn-realmedia',
'.rmx': 'application/vnd.rn-realmedia', '.rmx': 'application/vnd.rn-realmedia',
'.rnc': 'application/relax-ng-compact-syntax',
'.rng': 'application/xml',
'.roff': 'text/troff', '.roff': 'text/troff',
'.rp': 'image/vnd.rn-realpix', '.rp': 'image/vnd.rn-realpix',
'.rpm': 'application/x-rpm', '.rpm': 'application/x-rpm',
@@ -492,10 +590,12 @@ CONTENT_TYPE = {
'.rtx': 'text/richtext', '.rtx': 'text/richtext',
'.rv': 'video/vnd.rn-realvideo', '.rv': 'video/vnd.rn-realvideo',
'.rvx': 'video/vnd.rn-realvideo', '.rvx': 'video/vnd.rn-realvideo',
'.rw2': 'image/x-panasonic-raw2',
'.s3m': 'audio/x-s3m', '.s3m': 'audio/x-s3m',
'.sam': 'application/x-amipro', '.sam': 'application/x-amipro',
'.sami': 'application/x-sami', '.sami': 'application/x-sami',
'.sav': 'application/x-spss-sav', '.sav': 'application/x-spss-sav',
'.scala': 'text/x-scala',
'.scm': 'text/x-scheme', '.scm': 'text/x-scheme',
'.sda': 'application/vnd.stardivision.draw', '.sda': 'application/vnd.stardivision.draw',
'.sdc': 'application/vnd.stardivision.calc', '.sdc': 'application/vnd.stardivision.calc',
@@ -509,6 +609,7 @@ CONTENT_TYPE = {
'.sgm': 'text/sgml', '.sgm': 'text/sgml',
'.sgml': 'text/sgml', '.sgml': 'text/sgml',
'.sh': 'application/x-shellscript', '.sh': 'application/x-shellscript',
'.shape': 'application/x-dia-shape',
'.shar': 'application/x-shar', '.shar': 'application/x-shar',
'.shn': 'application/x-shorten', '.shn': 'application/x-shorten',
'.siag': 'application/x-siag', '.siag': 'application/x-siag',
@@ -521,6 +622,8 @@ CONTENT_TYPE = {
'.sk': 'image/x-skencil', '.sk': 'image/x-skencil',
'.sk1': 'image/x-skencil', '.sk1': 'image/x-skencil',
'.skr': 'application/pgp-keys', '.skr': 'application/pgp-keys',
'.sldm': 'application/vnd.ms-powerpoint.slide.macroenabled.12',
'.sldx': 'application/vnd.openxmlformats-officedocument.presentationml.slide',
'.slk': 'text/spreadsheet', '.slk': 'text/spreadsheet',
'.smaf': 'application/x-smaf', '.smaf': 'application/x-smaf',
'.smc': 'application/x-snes-rom', '.smc': 'application/x-snes-rom',
@@ -536,12 +639,15 @@ CONTENT_TYPE = {
'.spd': 'application/x-font-speedo', '.spd': 'application/x-font-speedo',
'.spec': 'text/x-rpm-spec', '.spec': 'text/x-rpm-spec',
'.spl': 'application/x-shockwave-flash', '.spl': 'application/x-shockwave-flash',
'.spm': 'application/x-source-rpm',
'.spx': 'audio/x-speex', '.spx': 'audio/x-speex',
'.sql': 'text/x-sql', '.sql': 'text/x-sql',
'.sr2': 'image/x-sony-sr2', '.sr2': 'image/x-sony-sr2',
'.src': 'application/x-wais-source', '.src': 'application/x-wais-source',
'.src.rpm': 'application/x-source-rpm',
'.srf': 'image/x-sony-srf', '.srf': 'image/x-sony-srf',
'.srt': 'application/x-subrip', '.srt': 'application/x-subrip',
'.ss': 'text/x-scheme',
'.ssa': 'text/x-ssa', '.ssa': 'text/x-ssa',
'.stc': 'application/vnd.sun.xml.calc.template', '.stc': 'application/vnd.sun.xml.calc.template',
'.std': 'application/vnd.sun.xml.draw.template', '.std': 'application/vnd.sun.xml.draw.template',
@@ -551,11 +657,14 @@ CONTENT_TYPE = {
'.sty': 'text/x-tex', '.sty': 'text/x-tex',
'.sub': 'text/x-subviewer', '.sub': 'text/x-subviewer',
'.sun': 'image/x-sun-raster', '.sun': 'image/x-sun-raster',
'.sv': 'text/x-svsrc',
'.sv4cpio': 'application/x-sv4cpio', '.sv4cpio': 'application/x-sv4cpio',
'.sv4crc': 'application/x-sv4crc', '.sv4crc': 'application/x-sv4crc',
'.svg': 'image/svg+xml', '.svg': 'image/svg+xml',
'.svgz': 'image/svg+xml-compressed', '.svgz': 'image/svg+xml-compressed',
'.svh': 'text/x-svhdr',
'.swf': 'application/x-shockwave-flash', '.swf': 'application/x-shockwave-flash',
'.swm': 'application/x-ms-wim',
'.sxc': 'application/vnd.sun.xml.calc', '.sxc': 'application/vnd.sun.xml.calc',
'.sxd': 'application/vnd.sun.xml.draw', '.sxd': 'application/vnd.sun.xml.draw',
'.sxg': 'application/vnd.sun.xml.writer.global', '.sxg': 'application/vnd.sun.xml.writer.global',
@@ -569,10 +678,13 @@ CONTENT_TYPE = {
'.tar.bz': 'application/x-bzip-compressed-tar', '.tar.bz': 'application/x-bzip-compressed-tar',
'.tar.bz2': 'application/x-bzip-compressed-tar', '.tar.bz2': 'application/x-bzip-compressed-tar',
'.tar.gz': 'application/x-compressed-tar', '.tar.gz': 'application/x-compressed-tar',
'.tar.lrz': 'application/x-lrzip-compressed-tar',
'.tar.lzma': 'application/x-lzma-compressed-tar', '.tar.lzma': 'application/x-lzma-compressed-tar',
'.tar.lzo': 'application/x-tzo', '.tar.lzo': 'application/x-tzo',
'.tar.xz': 'application/x-xz-compressed-tar', '.tar.xz': 'application/x-xz-compressed-tar',
'.tar.z': 'application/x-tarz', '.tar.z': 'application/x-tarz',
'.taz': 'application/x-tarz',
'.tb2': 'application/x-bzip-compressed-tar',
'.tbz': 'application/x-bzip-compressed-tar', '.tbz': 'application/x-bzip-compressed-tar',
'.tbz2': 'application/x-bzip-compressed-tar', '.tbz2': 'application/x-bzip-compressed-tar',
'.tcl': 'text/x-tcl', '.tcl': 'text/x-tcl',
@@ -586,6 +698,7 @@ CONTENT_TYPE = {
'.tif': 'image/tiff', '.tif': 'image/tiff',
'.tiff': 'image/tiff', '.tiff': 'image/tiff',
'.tk': 'text/x-tcl', '.tk': 'text/x-tcl',
'.tlrz': 'application/x-lrzip-compressed-tar',
'.tlz': 'application/x-lzma-compressed-tar', '.tlz': 'application/x-lzma-compressed-tar',
'.tnef': 'application/vnd.ms-tnef', '.tnef': 'application/vnd.ms-tnef',
'.tnf': 'application/vnd.ms-tnef', '.tnf': 'application/vnd.ms-tnef',
@@ -593,7 +706,7 @@ CONTENT_TYPE = {
'.torrent': 'application/x-bittorrent', '.torrent': 'application/x-bittorrent',
'.tpic': 'image/x-tga', '.tpic': 'image/x-tga',
'.tr': 'text/troff', '.tr': 'text/troff',
'.ts': 'application/x-linguist', '.ts': 'video/mp2t',
'.tsv': 'text/tab-separated-values', '.tsv': 'text/tab-separated-values',
'.tta': 'audio/x-tta', '.tta': 'audio/x-tta',
'.ttc': 'application/x-font-ttf', '.ttc': 'application/x-font-ttf',
@@ -603,18 +716,20 @@ CONTENT_TYPE = {
'.txz': 'application/x-xz-compressed-tar', '.txz': 'application/x-xz-compressed-tar',
'.tzo': 'application/x-tzo', '.tzo': 'application/x-tzo',
'.ufraw': 'application/x-ufraw', '.ufraw': 'application/x-ufraw',
'.ui': 'application/x-designer', '.ui': 'application/x-gtk-builder',
'.uil': 'text/x-uil', '.uil': 'text/x-uil',
'.ult': 'audio/x-mod', '.ult': 'audio/x-mod',
'.uni': 'audio/x-mod', '.uni': 'audio/x-mod',
'.uri': 'text/x-uri', '.url': 'application/x-mswinurl',
'.url': 'text/x-uri',
'.ustar': 'application/x-ustar', '.ustar': 'application/x-ustar',
'.uue': 'text/x-uuencode',
'.v': 'text/x-verilog',
'.vala': 'text/x-vala', '.vala': 'text/x-vala',
'.vapi': 'text/x-vala', '.vapi': 'text/x-vala',
'.vcf': 'text/directory', '.vcard': 'text/vcard',
'.vcf': 'text/vcard',
'.vcs': 'text/calendar', '.vcs': 'text/calendar',
'.vct': 'text/directory', '.vct': 'text/vcard',
'.vda': 'image/x-tga', '.vda': 'image/x-tga',
'.vhd': 'text/x-vhdl', '.vhd': 'text/x-vhdl',
'.vhdl': 'text/x-vhdl', '.vhdl': 'text/x-vhdl',
@@ -624,8 +739,14 @@ CONTENT_TYPE = {
'.vob': 'video/mpeg', '.vob': 'video/mpeg',
'.voc': 'audio/x-voc', '.voc': 'audio/x-voc',
'.vor': 'application/vnd.stardivision.writer', '.vor': 'application/vnd.stardivision.writer',
'.vrm': 'model/vrml',
'.vrml': 'model/vrml',
'.vsd': 'application/vnd.visio',
'.vss': 'application/vnd.visio',
'.vst': 'image/x-tga', '.vst': 'image/x-tga',
'.vsw': 'application/vnd.visio',
'.vtt': 'text/vtt', '.vtt': 'text/vtt',
'.w2p': 'application/w2p',
'.wav': 'audio/x-wav', '.wav': 'audio/x-wav',
'.wax': 'audio/x-ms-asx', '.wax': 'audio/x-ms-asx',
'.wb1': 'application/x-quattropro', '.wb1': 'application/x-quattropro',
@@ -635,6 +756,7 @@ CONTENT_TYPE = {
'.wcm': 'application/vnd.ms-works', '.wcm': 'application/vnd.ms-works',
'.wdb': 'application/vnd.ms-works', '.wdb': 'application/vnd.ms-works',
'.webm': 'video/webm', '.webm': 'video/webm',
'.wim': 'application/x-ms-wim',
'.wk1': 'application/vnd.lotus-1-2-3', '.wk1': 'application/vnd.lotus-1-2-3',
'.wk3': 'application/vnd.lotus-1-2-3', '.wk3': 'application/vnd.lotus-1-2-3',
'.wk4': 'application/vnd.lotus-1-2-3', '.wk4': 'application/vnd.lotus-1-2-3',
@@ -657,10 +779,12 @@ CONTENT_TYPE = {
'.wps': 'application/vnd.ms-works', '.wps': 'application/vnd.ms-works',
'.wri': 'application/x-mswrite', '.wri': 'application/x-mswrite',
'.wrl': 'model/vrml', '.wrl': 'model/vrml',
'.wsgi': 'text/x-python',
'.wv': 'audio/x-wavpack', '.wv': 'audio/x-wavpack',
'.wvc': 'audio/x-wavpack-correction', '.wvc': 'audio/x-wavpack-correction',
'.wvp': 'audio/x-wavpack', '.wvp': 'audio/x-wavpack',
'.wvx': 'audio/x-ms-asx', '.wvx': 'audio/x-ms-asx',
'.wwf': 'application/x-wwf',
'.x3f': 'image/x-sigma-x3f', '.x3f': 'image/x-sigma-x3f',
'.xac': 'application/x-gnucash', '.xac': 'application/x-gnucash',
'.xbel': 'application/x-xbel', '.xbel': 'application/x-xbel',
@@ -672,32 +796,40 @@ CONTENT_TYPE = {
'.xhtml': 'application/xhtml+xml', '.xhtml': 'application/xhtml+xml',
'.xi': 'audio/x-xi', '.xi': 'audio/x-xi',
'.xla': 'application/vnd.ms-excel', '.xla': 'application/vnd.ms-excel',
'.xlam': 'application/vnd.ms-excel.addin.macroenabled.12',
'.xlc': 'application/vnd.ms-excel', '.xlc': 'application/vnd.ms-excel',
'.xld': 'application/vnd.ms-excel', '.xld': 'application/vnd.ms-excel',
'.xlf': 'application/x-xliff', '.xlf': 'application/x-xliff',
'.xliff': 'application/x-xliff', '.xliff': 'application/x-xliff',
'.xll': 'application/vnd.ms-excel', '.xll': 'application/vnd.ms-excel',
'.xlm': 'application/vnd.ms-excel', '.xlm': 'application/vnd.ms-excel',
'.xlr': 'application/vnd.ms-works',
'.xls': 'application/vnd.ms-excel', '.xls': 'application/vnd.ms-excel',
'.xlsm': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', '.xlsb': 'application/vnd.ms-excel.sheet.binary.macroenabled.12',
'.xlsm': 'application/vnd.ms-excel.sheet.macroenabled.12',
'.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'.xlt': 'application/vnd.ms-excel', '.xlt': 'application/vnd.ms-excel',
'.xltm': 'application/vnd.ms-excel.template.macroenabled.12',
'.xltx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
'.xlw': 'application/vnd.ms-excel', '.xlw': 'application/vnd.ms-excel',
'.xm': 'audio/x-xm', '.xm': 'audio/x-xm',
'.xmf': 'audio/x-xmf', '.xmf': 'audio/x-xmf',
'.xmi': 'text/x-xmi', '.xmi': 'text/x-xmi',
'.xml': 'application/xml', '.xml': 'application/xml',
'.xpi': 'application/x-xpinstall',
'.xpm': 'image/x-xpixmap', '.xpm': 'image/x-xpixmap',
'.xps': 'application/vnd.ms-xpsdocument', '.xps': 'application/oxps',
'.xsl': 'application/xml', '.xsd': 'application/xml',
'.xsl': 'application/xslt+xml',
'.xslfo': 'text/x-xslfo', '.xslfo': 'text/x-xslfo',
'.xslt': 'application/xml', '.xslt': 'application/xslt+xml',
'.xspf': 'application/xspf+xml', '.xspf': 'application/xspf+xml',
'.xul': 'application/vnd.mozilla.xul+xml', '.xul': 'application/vnd.mozilla.xul+xml',
'.xwd': 'image/x-xwindowdump', '.xwd': 'image/x-xwindowdump',
'.xyz': 'chemical/x-pdb', '.xyz': 'chemical/x-pdb',
'.xz': 'application/x-xz', '.xz': 'application/x-xz',
'.w2p': 'application/w2p', '.yaml': 'application/x-yaml',
'.yml': 'application/x-yaml',
'.z': 'application/x-compress', '.z': 'application/x-compress',
'.zabw': 'application/x-abiword', '.zabw': 'application/x-abiword',
'.zip': 'application/zip', '.zip': 'application/zip',