mtypes.py
1206 lines
| 42.6 KiB
| text/x-python
|
PythonLexer
r1 | # -*- coding: utf-8 -*- | |||
r3363 | # Copyright (C) 2014-2019 RhodeCode GmbH | |||
r1 | # | |||
# This program is free software: you can redistribute it and/or modify | ||||
# it under the terms of the GNU Affero General Public License, version 3 | ||||
# (only), as published by the Free Software Foundation. | ||||
# | ||||
# This program is distributed in the hope that it will be useful, | ||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
# GNU General Public License for more details. | ||||
# | ||||
# You should have received a copy of the GNU Affero General Public License | ||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||
# | ||||
# This program is dual-licensed. If you wish to learn more about the | ||||
# RhodeCode Enterprise Edition, including its added features, Support services, | ||||
# and proprietary license terms, please see https://rhodecode.com/licenses/ | ||||
TYPES_MAP = [ | ||||
{'.jpg': 'image/jpg', | ||||
'.mid': 'audio/midi', | ||||
'.midi': 'audio/midi', | ||||
'.pct': 'image/pict', | ||||
'.pic': 'image/pict', | ||||
'.pict': 'image/pict', | ||||
'.rtf': 'application/rtf', | ||||
'.xul': 'text/xul'}, | ||||
{'.123': 'application/vnd.lotus-1-2-3', | ||||
'.3dml': 'text/vnd.in3d.3dml', | ||||
'.3g2': 'video/3gpp2', | ||||
'.3gp': 'video/3gpp', | ||||
'.7z': 'application/x-7z-compressed', | ||||
'.ASM': 'text/x-nasm', | ||||
'.C': 'text/x-c++hdr', | ||||
'.COB': 'text/x-cobol', | ||||
'.CPP': 'text/x-c++hdr', | ||||
'.CPY': 'text/x-cobol', | ||||
'.F': 'text/x-fortran', | ||||
'.F90': 'text/x-fortran', | ||||
'.H': 'text/x-c++hdr', | ||||
'.R': 'text/S-plus', | ||||
'.Rd': 'text/x-r-doc', | ||||
'.S': 'text/S-plus', | ||||
'.[1234567]': 'application/x-troff', | ||||
'.a': 'application/octet-stream', | ||||
'.aab': 'application/x-authorware-bin', | ||||
'.aac': 'audio/x-aac', | ||||
'.aam': 'application/x-authorware-map', | ||||
'.aas': 'application/x-authorware-seg', | ||||
'.abap': 'text/x-abap', | ||||
'.abw': 'application/x-abiword', | ||||
'.ac': 'application/pkix-attr-cert', | ||||
'.acc': 'application/vnd.americandynamics.acc', | ||||
'.ace': 'application/x-ace-compressed', | ||||
'.acu': 'application/vnd.acucobol', | ||||
'.acutc': 'application/vnd.acucorp', | ||||
'.ada': 'text/x-ada', | ||||
'.adb': 'text/x-ada', | ||||
'.adp': 'audio/adpcm', | ||||
'.ads': 'text/x-ada', | ||||
'.aep': 'application/vnd.audiograph', | ||||
'.afm': 'application/x-font-type1', | ||||
'.afp': 'application/vnd.ibm.modcap', | ||||
'.ahead': 'application/vnd.ahead.space', | ||||
'.ahk': 'text/x-autohotkey', | ||||
'.ahkl': 'text/x-autohotkey', | ||||
'.ai': 'application/postscript', | ||||
'.aif': 'audio/x-aiff', | ||||
'.aifc': 'audio/x-aiff', | ||||
'.aiff': 'audio/x-aiff', | ||||
'.air': 'application/vnd.adobe.air-application-installer-package+zip', | ||||
'.ait': 'application/vnd.dvb.ait', | ||||
'.aj': 'text/x-aspectj', | ||||
'.ami': 'application/vnd.amiga.ami', | ||||
'.apk': 'application/vnd.android.package-archive', | ||||
'.application': 'application/x-ms-application', | ||||
'.apr': 'application/vnd.lotus-approach', | ||||
'.as': 'application/x-actionscript3', | ||||
'.asc': 'application/pgp-signature', | ||||
'.asf': 'video/x-ms-asf', | ||||
'.asm': 'text/x-asm', | ||||
'.aso': 'application/vnd.accpac.simply.aso', | ||||
'.aspx': 'application/x-aspx', | ||||
'.asx': 'video/x-ms-asf', | ||||
'.asy': 'text/x-asymptote', | ||||
'.atc': 'application/vnd.acucorp', | ||||
'.atom': 'application/atom+xml', | ||||
'.atomcat': 'application/atomcat+xml', | ||||
'.atomsvc': 'application/atomsvc+xml', | ||||
'.atx': 'application/vnd.antix.game-component', | ||||
'.au': 'audio/basic', | ||||
'.au3': 'text/x-autoit', | ||||
'.aux': 'text/x-tex', | ||||
'.avi': 'video/x-msvideo', | ||||
'.aw': 'application/applixware', | ||||
'.awk': 'application/x-awk', | ||||
'.azf': 'application/vnd.airzip.filesecure.azf', | ||||
'.azs': 'application/vnd.airzip.filesecure.azs', | ||||
'.azw': 'application/vnd.amazon.ebook', | ||||
'.b': 'application/x-brainfuck', | ||||
'.bas': 'text/x-vbnet', | ||||
'.bash': 'text/x-sh', | ||||
'.bat': 'application/x-msdownload', | ||||
'.bcpio': 'application/x-bcpio', | ||||
'.bdf': 'application/x-font-bdf', | ||||
'.bdm': 'application/vnd.syncml.dm+wbxml', | ||||
'.bed': 'application/vnd.realvnc.bed', | ||||
'.befunge': 'application/x-befunge', | ||||
'.bf': 'application/x-brainfuck', | ||||
'.bh2': 'application/vnd.fujitsu.oasysprs', | ||||
'.bin': 'application/octet-stream', | ||||
'.bmi': 'application/vnd.bmi', | ||||
'.bmp': 'image/bmp', | ||||
'.bmx': 'text/x-bmx', | ||||
'.boo': 'text/x-boo', | ||||
'.book': 'application/vnd.framemaker', | ||||
'.box': 'application/vnd.previewsystems.box', | ||||
'.boz': 'application/x-bzip2', | ||||
'.bpk': 'application/octet-stream', | ||||
'.btif': 'image/prs.btif', | ||||
'.bz': 'application/x-bzip', | ||||
'.bz2': 'application/x-bzip2', | ||||
'.c': 'text/x-c', | ||||
'.c++': 'text/x-c++hdr', | ||||
'.c++-objdump': 'text/x-cpp-objdump', | ||||
'.c-objdump': 'text/x-c-objdump', | ||||
'.c11amc': 'application/vnd.cluetrust.cartomobile-config', | ||||
'.c11amz': 'application/vnd.cluetrust.cartomobile-config-pkg', | ||||
'.c4d': 'application/vnd.clonk.c4group', | ||||
'.c4f': 'application/vnd.clonk.c4group', | ||||
'.c4g': 'application/vnd.clonk.c4group', | ||||
'.c4p': 'application/vnd.clonk.c4group', | ||||
'.c4u': 'application/vnd.clonk.c4group', | ||||
'.cab': 'application/vnd.ms-cab-compressed', | ||||
'.car': 'application/vnd.curl.car', | ||||
'.cat': 'application/vnd.ms-pki.seccat', | ||||
'.cc': 'text/x-c', | ||||
'.cct': 'application/x-director', | ||||
'.ccxml': 'application/ccxml+xml', | ||||
'.cdbcmsg': 'application/vnd.contact.cmsg', | ||||
'.cdf': 'application/x-netcdf', | ||||
'.cdkey': 'application/vnd.mediastation.cdkey', | ||||
'.cdmia': 'application/cdmi-capability', | ||||
'.cdmic': 'application/cdmi-container', | ||||
'.cdmid': 'application/cdmi-domain', | ||||
'.cdmio': 'application/cdmi-object', | ||||
'.cdmiq': 'application/cdmi-queue', | ||||
'.cdx': 'chemical/x-cdx', | ||||
'.cdxml': 'application/vnd.chemdraw+xml', | ||||
'.cdy': 'application/vnd.cinderella', | ||||
'.cer': 'application/pkix-cert', | ||||
'.ceylon': 'text/x-ceylon', | ||||
'.cfc': 'application/x-coldfusion', | ||||
'.cfg': 'text/x-ini', | ||||
'.cfm': 'application/x-coldfusion', | ||||
'.cfml': 'application/x-coldfusion', | ||||
'.cgm': 'image/cgm', | ||||
'.chat': 'application/x-chat', | ||||
'.chm': 'application/vnd.ms-htmlhelp', | ||||
'.chrt': 'application/vnd.kde.kchart', | ||||
'.cif': 'chemical/x-cif', | ||||
'.cii': 'application/vnd.anser-web-certificate-issue-initiation', | ||||
'.cil': 'application/vnd.ms-artgalry', | ||||
'.cl': 'text/x-common-lisp', | ||||
'.cla': 'application/vnd.claymore', | ||||
'.class': 'application/java-vm', | ||||
'.clj': 'text/x-clojure', | ||||
'.clkk': 'application/vnd.crick.clicker.keyboard', | ||||
'.clkp': 'application/vnd.crick.clicker.palette', | ||||
'.clkt': 'application/vnd.crick.clicker.template', | ||||
'.clkw': 'application/vnd.crick.clicker.wordbank', | ||||
'.clkx': 'application/vnd.crick.clicker', | ||||
'.clp': 'application/x-msclip', | ||||
'.cls': 'text/x-openedge', | ||||
'.cmake': 'text/x-cmake', | ||||
'.cmc': 'application/vnd.cosmocaller', | ||||
'.cmd': 'application/x-dos-batch', | ||||
'.cmdf': 'chemical/x-cmdf', | ||||
'.cml': 'chemical/x-cml', | ||||
'.cmp': 'application/vnd.yellowriver-custom-menu', | ||||
'.cmx': 'image/x-cmx', | ||||
'.cob': 'text/x-cobol', | ||||
'.cod': 'application/vnd.rim.cod', | ||||
'.coffee': 'text/coffeescript', | ||||
'.com': 'application/x-msdownload', | ||||
'.conf': 'text/plain', | ||||
'.cp': 'text/x-c++hdr', | ||||
'.cpio': 'application/x-cpio', | ||||
'.cpp': 'text/x-c', | ||||
'.cpp-objdump': 'text/x-cpp-objdump', | ||||
'.cpt': 'application/mac-compactpro', | ||||
'.cpy': 'text/x-cobol', | ||||
'.crd': 'application/x-mscardfile', | ||||
'.crl': 'application/pkix-crl', | ||||
'.croc': 'text/x-crocsrc', | ||||
'.crt': 'application/x-x509-ca-cert', | ||||
'.cryptonote': 'application/vnd.rig.cryptonote', | ||||
'.cs': 'text/x-csharp', | ||||
'.csh': 'application/x-csh', | ||||
'.csml': 'chemical/x-csml', | ||||
'.csp': 'application/vnd.commonspace', | ||||
'.css': 'text/css', | ||||
'.cst': 'application/x-director', | ||||
'.csv': 'text/csv', | ||||
'.cu': 'application/cu-seeme', | ||||
'.cuh': 'text/x-cuda', | ||||
'.curl': 'text/vnd.curl', | ||||
'.cww': 'application/prs.cww', | ||||
'.cxt': 'application/x-director', | ||||
'.cxx': 'text/x-c', | ||||
'.cxx-objdump': 'text/x-cpp-objdump', | ||||
'.d': 'text/x-dsrc', | ||||
'.d-objdump': 'text/x-d-objdump', | ||||
'.dae': 'model/vnd.collada+xml', | ||||
'.daf': 'application/vnd.mobius.daf', | ||||
'.dart': 'text/x-dart', | ||||
'.dataless': 'application/vnd.fdsn.seed', | ||||
'.davmount': 'application/davmount+xml', | ||||
'.dcr': 'application/x-director', | ||||
'.dcurl': 'text/vnd.curl.dcurl', | ||||
'.dd2': 'application/vnd.oma.dd2+xml', | ||||
'.ddd': 'application/vnd.fujixerox.ddd', | ||||
'.deb': 'application/x-debian-package', | ||||
'.def': 'text/plain', | ||||
'.deploy': 'application/octet-stream', | ||||
'.der': 'application/x-x509-ca-cert', | ||||
'.dfac': 'application/vnd.dreamfactory', | ||||
'.dg': 'text/x-dg', | ||||
'.di': 'text/x-dsrc', | ||||
'.dic': 'text/x-c', | ||||
'.dif': 'video/x-dv', | ||||
'.diff': 'text/x-diff', | ||||
'.dir': 'application/x-director', | ||||
'.dis': 'application/vnd.mobius.dis', | ||||
'.dist': 'application/octet-stream', | ||||
'.distz': 'application/octet-stream', | ||||
'.djv': 'image/vnd.djvu', | ||||
'.djvu': 'image/vnd.djvu', | ||||
'.dll': 'application/x-msdownload', | ||||
'.dmg': 'application/octet-stream', | ||||
'.dms': 'application/octet-stream', | ||||
'.dna': 'application/vnd.dna', | ||||
'.doc': 'application/msword', | ||||
'.docm': 'application/vnd.ms-word.document.macroenabled.12', | ||||
'.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', | ||||
'.dot': 'application/msword', | ||||
'.dotm': 'application/vnd.ms-word.template.macroenabled.12', | ||||
'.dotx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', | ||||
'.dp': 'application/vnd.osgi.dp', | ||||
'.dpg': 'application/vnd.dpgraph', | ||||
'.dra': 'audio/vnd.dra', | ||||
'.dsc': 'text/prs.lines.tag', | ||||
'.dssc': 'application/dssc+der', | ||||
'.dtb': 'application/x-dtbook+xml', | ||||
'.dtd': 'application/xml-dtd', | ||||
'.dts': 'audio/vnd.dts', | ||||
'.dtshd': 'audio/vnd.dts.hd', | ||||
'.duby': 'text/x-ruby', | ||||
'.duel': 'text/x-duel', | ||||
'.dump': 'application/octet-stream', | ||||
'.dv': 'video/x-dv', | ||||
'.dvi': 'application/x-dvi', | ||||
'.dwf': 'model/vnd.dwf', | ||||
'.dwg': 'image/vnd.dwg', | ||||
'.dxf': 'image/vnd.dxf', | ||||
'.dxp': 'application/vnd.spotfire.dxp', | ||||
'.dxr': 'application/x-director', | ||||
'.dyl': 'text/x-dylan', | ||||
'.dylan': 'text/x-dylan', | ||||
'.dylan-console': 'text/x-dylan-console', | ||||
'.ebuild': 'text/x-sh', | ||||
'.ec': 'text/x-echdr', | ||||
'.ecelp4800': 'audio/vnd.nuera.ecelp4800', | ||||
'.ecelp7470': 'audio/vnd.nuera.ecelp7470', | ||||
'.ecelp9600': 'audio/vnd.nuera.ecelp9600', | ||||
'.ecl': 'text/x-ecl', | ||||
'.eclass': 'text/x-sh', | ||||
'.ecma': 'application/ecmascript', | ||||
'.edm': 'application/vnd.novadigm.edm', | ||||
'.edx': 'application/vnd.novadigm.edx', | ||||
'.efif': 'application/vnd.picsel', | ||||
'.eh': 'text/x-echdr', | ||||
'.ei6': 'application/vnd.pg.osasli', | ||||
'.el': 'text/x-common-lisp', | ||||
'.elc': 'application/octet-stream', | ||||
'.eml': 'message/rfc822', | ||||
'.emma': 'application/emma+xml', | ||||
'.eol': 'audio/vnd.digital-winds', | ||||
'.eot': 'application/vnd.ms-fontobject', | ||||
'.eps': 'application/postscript', | ||||
'.epub': 'application/epub+zip', | ||||
'.erl': 'text/x-erlang', | ||||
'.erl-sh': 'text/x-erl-shellsession', | ||||
'.es': 'text/x-erlang', | ||||
'.es3': 'application/vnd.eszigno3+xml', | ||||
'.escript': 'text/x-erlang', | ||||
'.esf': 'application/vnd.epson.esf', | ||||
'.et3': 'application/vnd.eszigno3+xml', | ||||
'.etx': 'text/x-setext', | ||||
'.evoque': 'application/x-evoque', | ||||
'.ex': 'text/x-elixir', | ||||
'.exe': 'application/x-msdownload', | ||||
'.exi': 'application/exi', | ||||
'.exs': 'text/x-elixir', | ||||
'.ext': 'application/vnd.novadigm.ext', | ||||
'.ez': 'application/andrew-inset', | ||||
'.ez2': 'application/vnd.ezpix-album', | ||||
'.ez3': 'application/vnd.ezpix-package', | ||||
'.f': 'text/x-fortran', | ||||
'.f4v': 'video/x-f4v', | ||||
'.f77': 'text/x-fortran', | ||||
'.f90': 'text/x-fortran', | ||||
'.factor': 'text/x-factor', | ||||
'.fan': 'application/x-fantom', | ||||
'.fancypack': 'text/x-fancysrc', | ||||
'.fbs': 'image/vnd.fastbidsheet', | ||||
'.fcs': 'application/vnd.isac.fcs', | ||||
'.fdf': 'application/vnd.fdf', | ||||
'.fe_launch': 'application/vnd.denovo.fcselayout-link', | ||||
'.feature': 'text/x-gherkin', | ||||
'.fg5': 'application/vnd.fujitsu.oasysgp', | ||||
'.fgd': 'application/x-director', | ||||
'.fh': 'image/x-freehand', | ||||
'.fh4': 'image/x-freehand', | ||||
'.fh5': 'image/x-freehand', | ||||
'.fh7': 'image/x-freehand', | ||||
'.fhc': 'image/x-freehand', | ||||
'.fig': 'application/x-xfig', | ||||
'.fli': 'video/x-fli', | ||||
'.flo': 'application/vnd.micrografx.flo', | ||||
'.flv': 'video/x-flv', | ||||
'.flw': 'application/vnd.kde.kivio', | ||||
'.flx': 'text/vnd.fmi.flexstor', | ||||
'.flxh': 'text/x-felix', | ||||
'.fly': 'text/vnd.fly', | ||||
'.fm': 'application/vnd.framemaker', | ||||
'.fnc': 'application/vnd.frogans.fnc', | ||||
'.for': 'text/x-fortran', | ||||
'.fpx': 'image/vnd.fpx', | ||||
'.frag': 'text/x-glslsrc', | ||||
'.frame': 'application/vnd.framemaker', | ||||
'.fs': 'text/x-fsharp', | ||||
'.fsc': 'application/vnd.fsc.weblaunch', | ||||
'.fsi': 'text/x-fsharp', | ||||
'.fst': 'image/vnd.fst', | ||||
'.ftc': 'application/vnd.fluxtime.clip', | ||||
'.fti': 'application/vnd.anser-web-funds-transfer-initiation', | ||||
'.fun': 'text/x-standardml', | ||||
'.fvt': 'video/vnd.fvt', | ||||
'.fxp': 'application/vnd.adobe.fxp', | ||||
'.fxpl': 'application/vnd.adobe.fxp', | ||||
'.fy': 'text/x-fancysrc', | ||||
'.fzs': 'application/vnd.fuzzysheet', | ||||
'.g2w': 'application/vnd.geoplan', | ||||
'.g3': 'image/g3fax', | ||||
'.g3w': 'application/vnd.geospace', | ||||
'.gac': 'application/vnd.groove-account', | ||||
'.gdc': 'text/x-gooddata-cl', | ||||
'.gdl': 'model/vnd.gdl', | ||||
'.gemspec': 'text/x-ruby', | ||||
'.geo': 'application/vnd.dynageo', | ||||
'.gex': 'application/vnd.geometry-explorer', | ||||
'.ggb': 'application/vnd.geogebra.file', | ||||
'.ggt': 'application/vnd.geogebra.tool', | ||||
'.ghf': 'application/vnd.groove-help', | ||||
'.gif': 'image/gif', | ||||
'.gim': 'application/vnd.groove-identity-message', | ||||
'.gmx': 'application/vnd.gmx', | ||||
'.gnumeric': 'application/x-gnumeric', | ||||
'.go': 'text/x-gosrc', | ||||
'.gph': 'application/vnd.flographit', | ||||
'.gqf': 'application/vnd.grafeq', | ||||
'.gqs': 'application/vnd.grafeq', | ||||
'.gram': 'application/srgs', | ||||
'.gre': 'application/vnd.geometry-explorer', | ||||
'.groovy': 'text/x-groovy', | ||||
'.grv': 'application/vnd.groove-injector', | ||||
'.grxml': 'application/srgs+xml', | ||||
'.gs': 'text/x-gosu', | ||||
'.gsf': 'application/x-font-ghostscript', | ||||
'.gsp': 'text/x-gosu', | ||||
'.gst': 'text/x-gosu-template', | ||||
'.gsx': 'text/x-gosu', | ||||
'.gtar': 'application/x-gtar', | ||||
'.gtm': 'application/vnd.groove-tool-message', | ||||
'.gtw': 'model/vnd.gtw', | ||||
'.gv': 'text/vnd.graphviz', | ||||
'.gxt': 'application/vnd.geonext', | ||||
'.h': 'text/x-c', | ||||
'.h++': 'text/x-c++hdr', | ||||
'.h261': 'video/h261', | ||||
'.h263': 'video/h263', | ||||
'.h264': 'video/h264', | ||||
'.hal': 'application/vnd.hal+xml', | ||||
'.haml': 'text/x-haml', | ||||
'.hbci': 'application/vnd.hbci', | ||||
'.hdf': 'application/x-hdf', | ||||
'.hdp': 'text/x-dylan-lid', | ||||
'.hh': 'text/x-c', | ||||
'.hlp': 'application/winhlp', | ||||
'.hpgl': 'application/vnd.hp-hpgl', | ||||
'.hpid': 'application/vnd.hp-hpid', | ||||
'.hpp': 'text/x-c++hdr', | ||||
'.hps': 'application/vnd.hp-hps', | ||||
'.hqx': 'application/mac-binhex40', | ||||
'.hrl': 'text/x-erlang', | ||||
'.hs': 'text/x-haskell', | ||||
'.htke': 'application/vnd.kenameaapp', | ||||
'.htm': 'text/html', | ||||
'.html': 'text/html', | ||||
'.hvd': 'application/vnd.yamaha.hv-dic', | ||||
'.hvp': 'application/vnd.yamaha.hv-voice', | ||||
'.hvs': 'application/vnd.yamaha.hv-script', | ||||
'.hx': 'text/haxe', | ||||
'.hxx': 'text/x-c++hdr', | ||||
'.hy': 'text/x-hybris', | ||||
'.hyb': 'text/x-hybris', | ||||
'.i2g': 'application/vnd.intergeo', | ||||
'.icc': 'application/vnd.iccprofile', | ||||
'.ice': 'x-conference/x-cooltalk', | ||||
'.icm': 'application/vnd.iccprofile', | ||||
'.ico': 'image/x-icon', | ||||
'.ics': 'text/calendar', | ||||
'.idc': 'text/x-chdr', | ||||
'.ief': 'image/ief', | ||||
'.ifb': 'text/calendar', | ||||
'.ifm': 'application/vnd.shana.informed.formdata', | ||||
'.iges': 'model/iges', | ||||
'.igl': 'application/vnd.igloader', | ||||
'.igm': 'application/vnd.insors.igm', | ||||
'.igs': 'model/iges', | ||||
'.igx': 'application/vnd.micrografx.igx', | ||||
'.iif': 'application/vnd.shana.informed.interchange', | ||||
'.ik': 'text/x-iokesrc', | ||||
'.imp': 'application/vnd.accpac.simply.imp', | ||||
'.ims': 'application/vnd.ms-ims', | ||||
'.in': 'text/plain', | ||||
'.inc': 'text/x-povray', | ||||
'.ini': 'text/x-ini', | ||||
'.intr': 'text/x-dylan', | ||||
'.io': 'text/x-iosrc', | ||||
'.ipfix': 'application/ipfix', | ||||
'.ipk': 'application/vnd.shana.informed.package', | ||||
'.irm': 'application/vnd.ibm.rights-management', | ||||
'.irp': 'application/vnd.irepository.package+xml', | ||||
'.iso': 'application/octet-stream', | ||||
'.itp': 'application/vnd.shana.informed.formtemplate', | ||||
'.ivp': 'application/vnd.immervision-ivp', | ||||
'.ivu': 'application/vnd.immervision-ivu', | ||||
'.j': 'text/x-objective-j', | ||||
'.jad': 'text/vnd.sun.j2me.app-descriptor', | ||||
'.jade': 'text/x-jade', | ||||
'.jam': 'application/vnd.jam', | ||||
'.jar': 'application/java-archive', | ||||
'.java': 'text/x-java-source', | ||||
'.jbst': 'text/x-duel', | ||||
'.jisp': 'application/vnd.jisp', | ||||
'.jl': 'text/x-julia', | ||||
'.jlt': 'application/vnd.hp-jlyt', | ||||
'.jnlp': 'application/x-java-jnlp-file', | ||||
'.joda': 'application/vnd.joost.joda-archive', | ||||
'.jp2': 'image/jp2', | ||||
'.jpe': 'image/jpeg', | ||||
'.jpeg': 'image/jpeg', | ||||
'.jpg': 'image/jpeg', | ||||
'.jpgm': 'video/jpm', | ||||
'.jpgv': 'video/jpeg', | ||||
'.jpm': 'video/jpm', | ||||
'.js': 'application/javascript', | ||||
'.json': 'application/json', | ||||
'.jsp': 'application/x-jsp', | ||||
'.kar': 'audio/midi', | ||||
'.karbon': 'application/vnd.kde.karbon', | ||||
'.kfo': 'application/vnd.kde.kformula', | ||||
'.kia': 'application/vnd.kidspiration', | ||||
'.kid': 'application/x-genshi', | ||||
'.kk': 'text/x-koka', | ||||
'.kki': 'text/x-koka', | ||||
'.kml': 'application/vnd.google-earth.kml+xml', | ||||
'.kmz': 'application/vnd.google-earth.kmz', | ||||
'.kne': 'application/vnd.kinar', | ||||
'.knp': 'application/vnd.kinar', | ||||
'.kon': 'application/vnd.kde.kontour', | ||||
'.kpr': 'application/vnd.kde.kpresenter', | ||||
'.kpt': 'application/vnd.kde.kpresenter', | ||||
'.ksh': 'text/plain', | ||||
'.ksp': 'application/vnd.kde.kspread', | ||||
'.kt': 'text/x-kotlin', | ||||
'.ktr': 'application/vnd.kahootz', | ||||
'.ktx': 'image/ktx', | ||||
'.ktz': 'application/vnd.kahootz', | ||||
'.kwd': 'application/vnd.kde.kword', | ||||
'.kwt': 'application/vnd.kde.kword', | ||||
'.lasso': 'text/x-lasso', | ||||
'.lasso[89]': 'text/x-lasso', | ||||
'.lasxml': 'application/vnd.las.las+xml', | ||||
'.latex': 'application/x-latex', | ||||
'.lbd': 'application/vnd.llamagraphics.life-balance.desktop', | ||||
'.lbe': 'application/vnd.llamagraphics.life-balance.exchange+xml', | ||||
'.les': 'application/vnd.hhe.lesson-player', | ||||
'.less': 'text/x-less', | ||||
'.lgt': 'text/x-logtalk', | ||||
'.lha': 'application/octet-stream', | ||||
'.lhs': 'text/x-literate-haskell', | ||||
'.lid': 'text/x-dylan-lid', | ||||
'.link66': 'application/vnd.route66.link66+xml', | ||||
'.lisp': 'text/x-common-lisp', | ||||
'.list': 'text/plain', | ||||
'.list3820': 'application/vnd.ibm.modcap', | ||||
'.listafp': 'application/vnd.ibm.modcap', | ||||
'.ll': 'text/x-llvm', | ||||
'.log': 'text/plain', | ||||
'.lostxml': 'application/lost+xml', | ||||
'.lrf': 'application/octet-stream', | ||||
'.lrm': 'application/vnd.ms-lrm', | ||||
'.ls': 'text/x-livescript', | ||||
'.lsp': 'text/x-newlisp', | ||||
'.ltf': 'application/vnd.frogans.ltf', | ||||
'.ltx': 'text/x-latex', | ||||
'.lua': 'text/x-lua', | ||||
'.lvp': 'audio/vnd.lucent.voice', | ||||
'.lwp': 'application/vnd.lotus-wordpro', | ||||
'.lzh': 'application/octet-stream', | ||||
'.m': 'text/octave', | ||||
'.m13': 'application/x-msmediaview', | ||||
'.m14': 'application/x-msmediaview', | ||||
'.m1v': 'video/mpeg', | ||||
'.m21': 'application/mp21', | ||||
'.m2a': 'audio/mpeg', | ||||
'.m2v': 'video/mpeg', | ||||
'.m3a': 'audio/mpeg', | ||||
'.m3u': 'audio/x-mpegurl', | ||||
'.m3u8': 'application/x-mpegurl', | ||||
'.m4a': 'audio/mp4a-latm', | ||||
'.m4p': 'audio/mp4a-latm', | ||||
'.m4u': 'video/vnd.mpegurl', | ||||
'.m4v': 'video/x-m4v', | ||||
'.ma': 'application/mathematica', | ||||
'.mac': 'image/x-macpaint', | ||||
'.mads': 'application/mads+xml', | ||||
'.mag': 'application/vnd.ecowin.chart', | ||||
'.mak': 'text/x-makefile', | ||||
'.maker': 'application/vnd.framemaker', | ||||
'.mako': 'application/x-mako', | ||||
'.man': 'text/troff', | ||||
'.manifest': 'text/cache-manifest', | ||||
'.maql': 'text/x-gooddata-maql', | ||||
'.markdown': 'text/x-markdown', | ||||
'.mathml': 'application/mathml+xml', | ||||
'.mb': 'application/mathematica', | ||||
'.mbk': 'application/vnd.mobius.mbk', | ||||
'.mbox': 'application/mbox', | ||||
'.mc': 'application/x-mason', | ||||
'.mc1': 'application/vnd.medcalcdata', | ||||
'.mcd': 'application/vnd.mcd', | ||||
'.mcurl': 'text/vnd.curl.mcurl', | ||||
'.md': 'text/x-minidsrc', | ||||
'.mdb': 'application/x-msaccess', | ||||
'.mdi': 'image/vnd.ms-modi', | ||||
'.mdown': 'text/x-markdown', | ||||
'.me': 'text/troff', | ||||
'.mesh': 'model/mesh', | ||||
'.meta4': 'application/metalink4+xml', | ||||
'.mets': 'application/mets+xml', | ||||
'.mfm': 'application/vnd.mfmp', | ||||
'.mgp': 'application/vnd.osgeo.mapguide.package', | ||||
'.mgz': 'application/vnd.proteus.magazine', | ||||
'.mht': 'message/rfc822', | ||||
'.mhtml': 'message/rfc822', | ||||
'.mi': 'application/x-mason', | ||||
'.mid': 'audio/midi', | ||||
'.midi': 'audio/midi', | ||||
'.mif': 'application/vnd.mif', | ||||
'.mime': 'message/rfc822', | ||||
'.mj2': 'video/mj2', | ||||
'.mjp2': 'video/mj2', | ||||
'.ml': 'text/x-ocaml', | ||||
'.mli': 'text/x-ocaml', | ||||
'.mll': 'text/x-ocaml', | ||||
'.mlp': 'application/vnd.dolby.mlp', | ||||
'.mly': 'text/x-ocaml', | ||||
'.mm': 'text/x-objective-c++', | ||||
'.mmd': 'application/vnd.chipnuts.karaoke-mmd', | ||||
'.mmf': 'application/vnd.smaf', | ||||
'.mmr': 'image/vnd.fujixerox.edmics-mmr', | ||||
'.mny': 'application/x-msmoney', | ||||
'.mo': 'text/x-modelica', | ||||
'.mobi': 'application/x-mobipocket-ebook', | ||||
'.mobipocket-ebook': 'application/octet-stream', | ||||
'.mod': 'text/x-modula2', | ||||
'.mods': 'application/mods+xml', | ||||
'.monkey': 'text/x-monkey', | ||||
'.moo': 'text/x-moocode', | ||||
'.moon': 'text/x-moonscript', | ||||
'.mov': 'video/quicktime', | ||||
'.movie': 'video/x-sgi-movie', | ||||
'.mp2': 'audio/mpeg', | ||||
'.mp21': 'application/mp21', | ||||
'.mp2a': 'audio/mpeg', | ||||
'.mp3': 'audio/mpeg', | ||||
'.mp4': 'video/mp4', | ||||
'.mp4a': 'audio/mp4', | ||||
'.mp4s': 'application/mp4', | ||||
'.mp4v': 'video/mp4', | ||||
'.mpa': 'video/mpeg', | ||||
'.mpc': 'application/vnd.mophun.certificate', | ||||
'.mpe': 'video/mpeg', | ||||
'.mpeg': 'video/mpeg', | ||||
'.mpg': 'video/mpeg', | ||||
'.mpg4': 'video/mp4', | ||||
'.mpga': 'audio/mpeg', | ||||
'.mpkg': 'application/vnd.apple.installer+xml', | ||||
'.mpm': 'application/vnd.blueice.multipass', | ||||
'.mpn': 'application/vnd.mophun.application', | ||||
'.mpp': 'application/vnd.ms-project', | ||||
'.mpt': 'application/vnd.ms-project', | ||||
'.mpy': 'application/vnd.ibm.minipay', | ||||
'.mqy': 'application/vnd.mobius.mqy', | ||||
'.mrc': 'application/marc', | ||||
'.mrcx': 'application/marcxml+xml', | ||||
'.ms': 'text/troff', | ||||
'.mscml': 'application/mediaservercontrol+xml', | ||||
'.mseed': 'application/vnd.fdsn.mseed', | ||||
'.mseq': 'application/vnd.mseq', | ||||
'.msf': 'application/vnd.epson.msf', | ||||
'.msh': 'model/mesh', | ||||
'.msi': 'application/x-msdownload', | ||||
'.msl': 'application/vnd.mobius.msl', | ||||
'.msty': 'application/vnd.muvee.style', | ||||
'.mts': 'model/vnd.mts', | ||||
'.mus': 'application/vnd.musician', | ||||
'.musicxml': 'application/vnd.recordare.musicxml+xml', | ||||
'.mvb': 'application/x-msmediaview', | ||||
'.mwf': 'application/vnd.mfer', | ||||
'.mxf': 'application/mxf', | ||||
'.mxl': 'application/vnd.recordare.musicxml', | ||||
'.mxml': 'application/xv+xml', | ||||
'.mxs': 'application/vnd.triscape.mxs', | ||||
'.mxu': 'video/vnd.mpegurl', | ||||
'.myt': 'application/x-myghty', | ||||
'.n': 'text/x-nemerle', | ||||
'.n-gage': 'application/vnd.nokia.n-gage.symbian.install', | ||||
'.n3': 'text/n3', | ||||
'.nb': 'application/mathematica', | ||||
'.nbp': 'application/vnd.wolfram.player', | ||||
'.nc': 'application/x-netcdf', | ||||
'.ncx': 'application/x-dtbncx+xml', | ||||
'.ngdat': 'application/vnd.nokia.n-gage.data', | ||||
'.nim': 'text/x-nimrod', | ||||
'.nimrod': 'text/x-nimrod', | ||||
'.nl': 'text/x-newlisp', | ||||
'.nlu': 'application/vnd.neurolanguage.nlu', | ||||
'.nml': 'application/vnd.enliven', | ||||
'.nnd': 'application/vnd.noblenet-directory', | ||||
'.nns': 'application/vnd.noblenet-sealer', | ||||
'.nnw': 'application/vnd.noblenet-web', | ||||
'.npx': 'image/vnd.net-fpx', | ||||
'.ns2': 'text/x-newspeak', | ||||
'.nsf': 'application/vnd.lotus-notes', | ||||
'.nsh': 'text/x-nsis', | ||||
'.nsi': 'text/x-nsis', | ||||
'.nws': 'message/rfc822', | ||||
'.o': 'application/octet-stream', | ||||
'.oa2': 'application/vnd.fujitsu.oasys2', | ||||
'.oa3': 'application/vnd.fujitsu.oasys3', | ||||
'.oas': 'application/vnd.fujitsu.oasys', | ||||
'.obd': 'application/x-msbinder', | ||||
'.obj': 'application/octet-stream', | ||||
'.objdump': 'text/x-objdump', | ||||
'.oda': 'application/oda', | ||||
'.odb': 'application/vnd.oasis.opendocument.database', | ||||
'.odc': 'application/vnd.oasis.opendocument.chart', | ||||
'.odf': 'application/vnd.oasis.opendocument.formula', | ||||
'.odft': 'application/vnd.oasis.opendocument.formula-template', | ||||
'.odg': 'application/vnd.oasis.opendocument.graphics', | ||||
'.odi': 'application/vnd.oasis.opendocument.image', | ||||
'.odm': 'application/vnd.oasis.opendocument.text-master', | ||||
'.odp': 'application/vnd.oasis.opendocument.presentation', | ||||
'.ods': 'application/vnd.oasis.opendocument.spreadsheet', | ||||
'.odt': 'application/vnd.oasis.opendocument.text', | ||||
'.oga': 'audio/ogg', | ||||
'.ogg': 'audio/ogg', | ||||
'.ogv': 'video/ogg', | ||||
'.ogx': 'application/ogg', | ||||
'.onepkg': 'application/onenote', | ||||
'.onetmp': 'application/onenote', | ||||
'.onetoc': 'application/onenote', | ||||
'.onetoc2': 'application/onenote', | ||||
'.ooc': 'text/x-ooc', | ||||
'.opa': 'text/x-opa', | ||||
'.opf': 'application/oebps-package+xml', | ||||
'.oprc': 'application/vnd.palm', | ||||
'.org': 'application/vnd.lotus-organizer', | ||||
'.osf': 'application/vnd.yamaha.openscoreformat', | ||||
'.osfpvg': 'application/vnd.yamaha.openscoreformat.osfpvg+xml', | ||||
'.otc': 'application/vnd.oasis.opendocument.chart-template', | ||||
'.otf': 'application/x-font-otf', | ||||
'.otg': 'application/vnd.oasis.opendocument.graphics-template', | ||||
'.oth': 'application/vnd.oasis.opendocument.text-web', | ||||
'.oti': 'application/vnd.oasis.opendocument.image-template', | ||||
'.otp': 'application/vnd.oasis.opendocument.presentation-template', | ||||
'.ots': 'application/vnd.oasis.opendocument.spreadsheet-template', | ||||
'.ott': 'application/vnd.oasis.opendocument.text-template', | ||||
'.oxt': 'application/vnd.openofficeorg.extension', | ||||
'.p': 'text/x-pascal', | ||||
'.p10': 'application/pkcs10', | ||||
'.p12': 'application/x-pkcs12', | ||||
'.p7b': 'application/x-pkcs7-certificates', | ||||
'.p7c': 'application/pkcs7-mime', | ||||
'.p7m': 'application/pkcs7-mime', | ||||
'.p7r': 'application/x-pkcs7-certreqresp', | ||||
'.p7s': 'application/pkcs7-signature', | ||||
'.p8': 'application/pkcs8', | ||||
'.pas': 'text/x-pascal', | ||||
'.patch': 'text/x-diff', | ||||
'.paw': 'application/vnd.pawaafile', | ||||
'.pbd': 'application/vnd.powerbuilder6', | ||||
'.pbm': 'image/x-portable-bitmap', | ||||
'.pcf': 'application/x-font-pcf', | ||||
'.pcl': 'application/vnd.hp-pcl', | ||||
'.pclxl': 'application/vnd.hp-pclxl', | ||||
'.pct': 'image/x-pict', | ||||
'.pcurl': 'application/vnd.curl.pcurl', | ||||
'.pcx': 'image/x-pcx', | ||||
'.pdb': 'application/vnd.palm', | ||||
'.pdf': 'application/pdf', | ||||
'.pfa': 'application/x-font-type1', | ||||
'.pfb': 'application/x-font-type1', | ||||
'.pfm': 'application/x-font-type1', | ||||
'.pfr': 'application/font-tdpfr', | ||||
'.pfx': 'application/x-pkcs12', | ||||
'.pgm': 'image/x-portable-graymap', | ||||
'.pgn': 'application/x-chess-pgn', | ||||
'.pgp': 'application/pgp-encrypted', | ||||
'.php': 'text/x-php', | ||||
'.php[345]': 'text/x-php', | ||||
'.phtml': 'application/x-php', | ||||
'.pic': 'image/x-pict', | ||||
'.pict': 'image/pict', | ||||
'.pkg': 'application/octet-stream', | ||||
'.pki': 'application/pkixcmp', | ||||
'.pkipath': 'application/pkix-pkipath', | ||||
'.pl': 'text/plain', | ||||
'.plb': 'application/vnd.3gpp.pic-bw-large', | ||||
'.plc': 'application/vnd.mobius.plc', | ||||
'.plf': 'application/vnd.pocketlearn', | ||||
'.plot': 'text/x-gnuplot', | ||||
'.pls': 'application/pls+xml', | ||||
'.plt': 'text/x-gnuplot', | ||||
'.pm': 'text/x-perl', | ||||
'.pml': 'application/vnd.ctc-posml', | ||||
'.png': 'image/png', | ||||
'.pnm': 'image/x-portable-anymap', | ||||
'.pnt': 'image/x-macpaint', | ||||
'.pntg': 'image/x-macpaint', | ||||
'.po': 'application/x-gettext', | ||||
'.portpkg': 'application/vnd.macports.portpkg', | ||||
'.pot': 'application/vnd.ms-powerpoint', | ||||
'.potm': 'application/vnd.ms-powerpoint.template.macroenabled.12', | ||||
'.potx': 'application/vnd.openxmlformats-officedocument.presentationml.template', | ||||
'.pov': 'text/x-povray', | ||||
'.ppa': 'application/vnd.ms-powerpoint', | ||||
'.ppam': 'application/vnd.ms-powerpoint.addin.macroenabled.12', | ||||
'.ppd': 'application/vnd.cups-ppd', | ||||
'.ppm': 'image/x-portable-pixmap', | ||||
'.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', | ||||
'.pptm': 'application/vnd.ms-powerpoint.presentation.macroenabled.12', | ||||
'.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', | ||||
'.pqa': 'application/vnd.palm', | ||||
'.prc': 'application/x-mobipocket-ebook', | ||||
'.pre': 'application/vnd.lotus-freelance', | ||||
'.prf': 'application/pics-rules', | ||||
'.pro': 'text/idl', | ||||
'.prolog': 'text/x-prolog', | ||||
'.properties': 'text/x-properties', | ||||
'.ps': 'application/postscript', | ||||
'.ps1': 'text/x-powershell', | ||||
'.psb': 'application/vnd.3gpp.pic-bw-small', | ||||
'.psd': 'image/vnd.adobe.photoshop', | ||||
'.psf': 'application/x-font-linux-psf', | ||||
'.pskcxml': 'application/pskc+xml', | ||||
'.ptid': 'application/vnd.pvi.ptid1', | ||||
'.pub': 'application/x-mspublisher', | ||||
'.pvb': 'application/vnd.3gpp.pic-bw-var', | ||||
'.pwn': 'application/vnd.3m.post-it-notes', | ||||
'.pwz': 'application/vnd.ms-powerpoint', | ||||
'.pxd': 'text/x-cython', | ||||
'.pxi': 'text/x-cython', | ||||
'.py': 'text/x-python', | ||||
'.py3tb': 'text/x-python3-traceback', | ||||
'.pya': 'audio/vnd.ms-playready.media.pya', | ||||
'.pyc': 'application/x-python-code', | ||||
'.pyo': 'application/x-python-code', | ||||
'.pypylog': 'application/x-pypylog', | ||||
'.pytb': 'text/x-python-traceback', | ||||
'.pyv': 'video/vnd.ms-playready.media.pyv', | ||||
'.pyw': 'text/x-python', | ||||
'.pyx': 'text/x-cython', | ||||
'.qam': 'application/vnd.epson.quickanime', | ||||
'.qbo': 'application/vnd.intu.qbo', | ||||
'.qfx': 'application/vnd.intu.qfx', | ||||
'.qml': 'application/x-qml', | ||||
'.qps': 'application/vnd.publishare-delta-tree', | ||||
'.qt': 'video/quicktime', | ||||
'.qti': 'image/x-quicktime', | ||||
'.qtif': 'image/x-quicktime', | ||||
'.qwd': 'application/vnd.quark.quarkxpress', | ||||
'.qwt': 'application/vnd.quark.quarkxpress', | ||||
'.qxb': 'application/vnd.quark.quarkxpress', | ||||
'.qxd': 'application/vnd.quark.quarkxpress', | ||||
'.qxl': 'application/vnd.quark.quarkxpress', | ||||
'.qxt': 'application/vnd.quark.quarkxpress', | ||||
'.r': 'text/x-rebol', | ||||
'.r3': 'text/x-rebol', | ||||
'.ra': 'audio/x-pn-realaudio', | ||||
'.rake': 'text/x-ruby', | ||||
'.ram': 'audio/x-pn-realaudio', | ||||
'.rar': 'application/x-rar-compressed', | ||||
'.ras': 'image/x-cmu-raster', | ||||
'.rb': 'text/x-ruby', | ||||
'.rbw': 'text/x-ruby', | ||||
'.rbx': 'text/x-ruby', | ||||
'.rc': 'text/x-stsrc', | ||||
'.rcprofile': 'application/vnd.ipunplugged.rcprofile', | ||||
'.rdf': 'application/rdf+xml', | ||||
'.rdz': 'application/vnd.data-vision.rdz', | ||||
'.reg': 'text/x-windows-registry', | ||||
'.rep': 'application/vnd.businessobjects', | ||||
'.res': 'application/x-dtbresource+xml', | ||||
'.rest': 'text/x-rst', | ||||
'.rgb': 'image/x-rgb', | ||||
'.rhtml': 'text/html+ruby', | ||||
'.rif': 'application/reginfo+xml', | ||||
'.rip': 'audio/vnd.rip', | ||||
'.rkt': 'text/x-racket', | ||||
'.rktl': 'text/x-racket', | ||||
'.rl': 'application/resource-lists+xml', | ||||
'.rlc': 'image/vnd.fujixerox.edmics-rlc', | ||||
'.rld': 'application/resource-lists-diff+xml', | ||||
'.rm': 'application/vnd.rn-realmedia', | ||||
'.rmi': 'audio/midi', | ||||
'.rmp': 'audio/x-pn-realaudio-plugin', | ||||
'.rms': 'application/vnd.jcp.javame.midlet-rms', | ||||
'.rnc': 'application/relax-ng-compact-syntax', | ||||
'.robot': 'text/x-robotframework', | ||||
'.roff': 'text/troff', | ||||
'.rp9': 'application/vnd.cloanto.rp9', | ||||
'.rpss': 'application/vnd.nokia.radio-presets', | ||||
'.rpst': 'application/vnd.nokia.radio-preset', | ||||
'.rq': 'application/sparql-query', | ||||
'.rs': 'application/rls-services+xml', | ||||
'.rsd': 'application/rsd+xml', | ||||
'.rss': 'application/rss+xml', | ||||
'.rst': 'text/x-rst', | ||||
'.rtf': 'application/rtf', | ||||
'.rtx': 'text/richtext', | ||||
'.s': 'text/x-asm', | ||||
'.saf': 'application/vnd.yamaha.smaf-audio', | ||||
'.sage': 'text/x-python', | ||||
'.sass': 'text/x-sass', | ||||
'.sbml': 'application/sbml+xml', | ||||
'.sc': 'application/vnd.ibm.secure-container', | ||||
'.scala': 'text/x-scala', | ||||
'.scaml': 'text/x-scaml', | ||||
'.scd': 'application/x-msschedule', | ||||
'.sce': 'text/scilab', | ||||
'.sci': 'text/scilab', | ||||
'.scm': 'application/vnd.lotus-screencam', | ||||
'.scq': 'application/scvp-cv-request', | ||||
'.scs': 'application/scvp-cv-response', | ||||
'.scss': 'text/x-scss', | ||||
'.scurl': 'text/vnd.curl.scurl', | ||||
'.sda': 'application/vnd.stardivision.draw', | ||||
'.sdc': 'application/vnd.stardivision.calc', | ||||
'.sdd': 'application/vnd.stardivision.impress', | ||||
'.sdkd': 'application/vnd.solent.sdkm+xml', | ||||
'.sdkm': 'application/vnd.solent.sdkm+xml', | ||||
'.sdp': 'application/sdp', | ||||
'.sdw': 'application/vnd.stardivision.writer', | ||||
'.see': 'application/vnd.seemail', | ||||
'.seed': 'application/vnd.fdsn.seed', | ||||
'.sema': 'application/vnd.sema', | ||||
'.semd': 'application/vnd.semd', | ||||
'.semf': 'application/vnd.semf', | ||||
'.ser': 'application/java-serialized-object', | ||||
'.setpay': 'application/set-payment-initiation', | ||||
'.setreg': 'application/set-registration-initiation', | ||||
'.sfd-hdstx': 'application/vnd.hydrostatix.sof-data', | ||||
'.sfs': 'application/vnd.spotfire.sfs', | ||||
'.sgl': 'application/vnd.stardivision.writer-global', | ||||
'.sgm': 'text/sgml', | ||||
'.sgml': 'text/sgml', | ||||
'.sh': 'application/x-sh', | ||||
'.sh-session': 'application/x-shell-session', | ||||
'.shar': 'application/x-shar', | ||||
'.shell-session': 'application/x-sh-session', | ||||
'.shf': 'application/shf+xml', | ||||
'.sig': 'application/pgp-signature', | ||||
'.silo': 'model/mesh', | ||||
'.sis': 'application/vnd.symbian.install', | ||||
'.sisx': 'application/vnd.symbian.install', | ||||
'.sit': 'application/x-stuffit', | ||||
'.sitx': 'application/x-stuffitx', | ||||
'.skd': 'application/vnd.koan', | ||||
'.skm': 'application/vnd.koan', | ||||
'.skp': 'application/vnd.koan', | ||||
'.skt': 'application/vnd.koan', | ||||
'.sldm': 'application/vnd.ms-powerpoint.slide.macroenabled.12', | ||||
'.sldx': 'application/vnd.openxmlformats-officedocument.presentationml.slide', | ||||
'.slt': 'application/vnd.epson.salt', | ||||
'.sm': 'application/vnd.stepmania.stepchart', | ||||
'.smali': 'text/smali', | ||||
'.smf': 'application/vnd.stardivision.math', | ||||
'.smi': 'application/smil+xml', | ||||
'.smil': 'application/smil+xml', | ||||
'.sml': 'text/x-standardml', | ||||
'.snd': 'audio/basic', | ||||
'.snf': 'application/x-font-snf', | ||||
'.snobol': 'text/x-snobol', | ||||
'.so': 'application/octet-stream', | ||||
'.sp': 'text/x-sourcepawn', | ||||
'.spc': 'application/x-pkcs7-certificates', | ||||
'.spec': 'text/x-rpm-spec', | ||||
'.spf': 'application/vnd.yamaha.smaf-phrase', | ||||
'.spl': 'application/x-futuresplash', | ||||
'.spot': 'text/vnd.in3d.spot', | ||||
'.spp': 'application/scvp-vp-response', | ||||
'.spq': 'application/scvp-vp-request', | ||||
'.spt': 'application/x-cheetah', | ||||
'.spx': 'audio/ogg', | ||||
'.sql': 'text/x-sql', | ||||
'.sqlite3-console': 'text/x-sqlite3-console', | ||||
'.src': 'application/x-wais-source', | ||||
'.sru': 'application/sru+xml', | ||||
'.srx': 'application/sparql-results+xml', | ||||
'.ss': 'text/x-scheme', | ||||
'.sse': 'application/vnd.kodak-descriptor', | ||||
'.ssf': 'application/vnd.epson.ssf', | ||||
'.ssml': 'application/ssml+xml', | ||||
'.ssp': 'application/x-ssp', | ||||
'.st': 'application/vnd.sailingtracker.track', | ||||
'.stc': 'application/vnd.sun.xml.calc.template', | ||||
'.std': 'application/vnd.sun.xml.draw.template', | ||||
'.stf': 'application/vnd.wt.stf', | ||||
'.sti': 'application/vnd.sun.xml.impress.template', | ||||
'.stk': 'application/hyperstudio', | ||||
'.stl': 'application/vnd.ms-pki.stl', | ||||
'.str': 'application/vnd.pg.format', | ||||
'.stw': 'application/vnd.sun.xml.writer.template', | ||||
'.sub': 'image/vnd.dvb.subtitle', | ||||
'.sus': 'application/vnd.sus-calendar', | ||||
'.susp': 'application/vnd.sus-calendar', | ||||
'.sv': 'text/x-systemverilog', | ||||
'.sv4cpio': 'application/x-sv4cpio', | ||||
'.sv4crc': 'application/x-sv4crc', | ||||
'.svc': 'application/vnd.dvb.service', | ||||
'.svd': 'application/vnd.svd', | ||||
'.svg': 'image/svg+xml', | ||||
'.svgz': 'image/svg+xml', | ||||
'.svh': 'text/x-systemverilog', | ||||
'.swa': 'application/x-director', | ||||
'.swf': 'application/x-shockwave-flash', | ||||
'.swi': 'application/vnd.aristanetworks.swi', | ||||
'.sxc': 'application/vnd.sun.xml.calc', | ||||
'.sxd': 'application/vnd.sun.xml.draw', | ||||
'.sxg': 'application/vnd.sun.xml.writer.global', | ||||
'.sxi': 'application/vnd.sun.xml.impress', | ||||
'.sxm': 'application/vnd.sun.xml.math', | ||||
'.sxw': 'application/vnd.sun.xml.writer', | ||||
'.t': 'text/troff', | ||||
'.tac': 'text/x-python', | ||||
'.tao': 'application/vnd.tao.intent-module-archive', | ||||
'.tar': 'application/x-tar', | ||||
'.tcap': 'application/vnd.3gpp2.tcap', | ||||
'.tcl': 'application/x-tcl', | ||||
'.tcsh': 'application/x-csh', | ||||
'.tea': 'text/x-tea', | ||||
'.teacher': 'application/vnd.smart.teacher', | ||||
'.tei': 'application/tei+xml', | ||||
'.teicorpus': 'application/tei+xml', | ||||
'.tex': 'application/x-tex', | ||||
'.texi': 'application/x-texinfo', | ||||
'.texinfo': 'application/x-texinfo', | ||||
'.text': 'text/plain', | ||||
'.tfi': 'application/thraud+xml', | ||||
'.tfm': 'application/x-tex-tfm', | ||||
'.thmx': 'application/vnd.ms-officetheme', | ||||
'.tif': 'image/tiff', | ||||
'.tiff': 'image/tiff', | ||||
'.tmo': 'application/vnd.tmobile-livetv', | ||||
'.tmpl': 'application/x-cheetah', | ||||
'.toc': 'text/x-tex', | ||||
'.torrent': 'application/x-bittorrent', | ||||
'.tpl': 'application/vnd.groove-tool-template', | ||||
'.tpt': 'application/vnd.trid.tpt', | ||||
'.tr': 'text/troff', | ||||
'.tra': 'application/vnd.trueapp', | ||||
'.trm': 'application/x-msterminal', | ||||
'.ts': 'video/mp2t', | ||||
'.tsd': 'application/timestamped-data', | ||||
'.tst': 'text/scilab', | ||||
'.tsv': 'text/tab-separated-values', | ||||
'.ttc': 'application/x-font-ttf', | ||||
'.ttf': 'application/x-font-ttf', | ||||
'.ttl': 'text/turtle', | ||||
'.twd': 'application/vnd.simtech-mindmapper', | ||||
'.twds': 'application/vnd.simtech-mindmapper', | ||||
'.txd': 'application/vnd.genomatix.tuxedo', | ||||
'.txf': 'application/vnd.mobius.txf', | ||||
'.txt': 'text/plain', | ||||
'.u': 'application/x-urbiscript', | ||||
'.u32': 'application/x-authorware-bin', | ||||
'.udeb': 'application/x-debian-package', | ||||
'.ufd': 'application/vnd.ufdl', | ||||
'.ufdl': 'application/vnd.ufdl', | ||||
'.umj': 'application/vnd.umajin', | ||||
'.unityweb': 'application/vnd.unity', | ||||
'.uoml': 'application/vnd.uoml+xml', | ||||
'.uri': 'text/uri-list', | ||||
'.uris': 'text/uri-list', | ||||
'.urls': 'text/uri-list', | ||||
'.ustar': 'application/x-ustar', | ||||
'.utz': 'application/vnd.uiq.theme', | ||||
'.uu': 'text/x-uuencode', | ||||
'.uva': 'audio/vnd.dece.audio', | ||||
'.uvd': 'application/vnd.dece.data', | ||||
'.uvf': 'application/vnd.dece.data', | ||||
'.uvg': 'image/vnd.dece.graphic', | ||||
'.uvh': 'video/vnd.dece.hd', | ||||
'.uvi': 'image/vnd.dece.graphic', | ||||
'.uvm': 'video/vnd.dece.mobile', | ||||
'.uvp': 'video/vnd.dece.pd', | ||||
'.uvs': 'video/vnd.dece.sd', | ||||
'.uvt': 'application/vnd.dece.ttml+xml', | ||||
'.uvu': 'video/vnd.uvvu.mp4', | ||||
'.uvv': 'video/vnd.dece.video', | ||||
'.uvva': 'audio/vnd.dece.audio', | ||||
'.uvvd': 'application/vnd.dece.data', | ||||
'.uvvf': 'application/vnd.dece.data', | ||||
'.uvvg': 'image/vnd.dece.graphic', | ||||
'.uvvh': 'video/vnd.dece.hd', | ||||
'.uvvi': 'image/vnd.dece.graphic', | ||||
'.uvvm': 'video/vnd.dece.mobile', | ||||
'.uvvp': 'video/vnd.dece.pd', | ||||
'.uvvs': 'video/vnd.dece.sd', | ||||
'.uvvt': 'application/vnd.dece.ttml+xml', | ||||
'.uvvu': 'video/vnd.uvvu.mp4', | ||||
'.uvvv': 'video/vnd.dece.video', | ||||
'.uvvx': 'application/vnd.dece.unspecified', | ||||
'.uvx': 'application/vnd.dece.unspecified', | ||||
'.v': 'text/x-verilog', | ||||
'.vala': 'text/x-vala', | ||||
'.vapi': 'text/x-vala', | ||||
'.vark': 'text/x-gosu', | ||||
'.vb': 'text/vbscript', | ||||
'.vcd': 'application/x-cdlink', | ||||
'.vcf': 'text/x-vcard', | ||||
'.vcg': 'application/vnd.groove-vcard', | ||||
'.vcs': 'text/x-vcalendar', | ||||
'.vcx': 'application/vnd.vcx', | ||||
'.vert': 'text/x-glslsrc', | ||||
'.vhd': 'text/x-vhdl', | ||||
'.vhdl': 'text/x-vhdl', | ||||
'.vim': 'text/x-vim', | ||||
'.vis': 'application/vnd.visionary', | ||||
'.viv': 'video/vnd.vivo', | ||||
'.vor': 'application/vnd.stardivision.writer', | ||||
'.vox': 'application/x-authorware-bin', | ||||
'.vrml': 'model/vrml', | ||||
'.vsd': 'application/vnd.visio', | ||||
'.vsf': 'application/vnd.vsf', | ||||
'.vss': 'application/vnd.visio', | ||||
'.vst': 'application/vnd.visio', | ||||
'.vsw': 'application/vnd.visio', | ||||
'.vtu': 'model/vnd.vtu', | ||||
'.vxml': 'application/voicexml+xml', | ||||
'.w3d': 'application/x-director', | ||||
'.wad': 'application/x-doom', | ||||
'.wav': 'audio/x-wav', | ||||
'.wax': 'audio/x-ms-wax', | ||||
'.wbmp': 'image/vnd.wap.wbmp', | ||||
'.wbs': 'application/vnd.criticaltools.wbs+xml', | ||||
'.wbxml': 'application/vnd.wap.wbxml', | ||||
'.wcm': 'application/vnd.ms-works', | ||||
'.wdb': 'application/vnd.ms-works', | ||||
'.weba': 'audio/webm', | ||||
'.webm': 'video/webm', | ||||
'.webp': 'image/webp', | ||||
'.weechatlog': 'text/x-irclog', | ||||
'.wg': 'application/vnd.pmi.widget', | ||||
'.wgt': 'application/widget', | ||||
'.wiz': 'application/msword', | ||||
'.wks': 'application/vnd.ms-works', | ||||
'.wlua': 'text/x-lua', | ||||
'.wm': 'video/x-ms-wm', | ||||
'.wma': 'audio/x-ms-wma', | ||||
'.wmd': 'application/x-ms-wmd', | ||||
'.wmf': 'application/x-msmetafile', | ||||
'.wml': 'text/vnd.wap.wml', | ||||
'.wmlc': 'application/vnd.wap.wmlc', | ||||
'.wmls': 'text/vnd.wap.wmlscript', | ||||
'.wmlsc': 'application/vnd.wap.wmlscriptc', | ||||
'.wmv': 'video/x-ms-wmv', | ||||
'.wmx': 'video/x-ms-wmx', | ||||
'.wmz': 'application/x-ms-wmz', | ||||
'.woff': 'application/x-font-woff', | ||||
'.wpd': 'application/vnd.wordperfect', | ||||
'.wpl': 'application/vnd.ms-wpl', | ||||
'.wps': 'application/vnd.ms-works', | ||||
'.wqd': 'application/vnd.wqd', | ||||
'.wri': 'application/x-mswrite', | ||||
'.wrl': 'model/vrml', | ||||
'.wsdl': 'application/wsdl+xml', | ||||
'.wspolicy': 'application/wspolicy+xml', | ||||
'.wtb': 'application/vnd.webturbo', | ||||
'.wvx': 'video/x-ms-wvx', | ||||
'.x': 'text/x-logos', | ||||
'.x32': 'application/x-authorware-bin', | ||||
'.x3d': 'application/vnd.hzn-3d-crossword', | ||||
'.xap': 'application/x-silverlight-app', | ||||
'.xar': 'application/vnd.xara', | ||||
'.xbap': 'application/x-ms-xbap', | ||||
'.xbd': 'application/vnd.fujixerox.docuworks.binder', | ||||
'.xbm': 'image/x-xbitmap', | ||||
'.xdf': 'application/xcap-diff+xml', | ||||
'.xdm': 'application/vnd.syncml.dm+xml', | ||||
'.xdp': 'application/vnd.adobe.xdp+xml', | ||||
'.xdssc': 'application/dssc+xml', | ||||
'.xdw': 'application/vnd.fujixerox.docuworks', | ||||
'.xenc': 'application/xenc+xml', | ||||
'.xer': 'application/patch-ops-error+xml', | ||||
'.xfdf': 'application/vnd.adobe.xfdf', | ||||
'.xfdl': 'application/vnd.xfdl', | ||||
'.xht': 'application/xhtml+xml', | ||||
'.xhtml': 'application/xhtml+xml', | ||||
'.xhvml': 'application/xv+xml', | ||||
'.xi': 'text/x-logos', | ||||
'.xif': 'image/vnd.xiff', | ||||
'.xla': 'application/vnd.ms-excel', | ||||
'.xlam': 'application/vnd.ms-excel.addin.macroenabled.12', | ||||
'.xlb': 'application/vnd.ms-excel', | ||||
'.xlc': 'application/vnd.ms-excel', | ||||
'.xlm': 'application/vnd.ms-excel', | ||||
'.xls': 'application/vnd.ms-excel', | ||||
'.xlsb': 'application/vnd.ms-excel.sheet.binary.macroenabled.12', | ||||
'.xlsm': 'application/vnd.ms-excel.sheet.macroenabled.12', | ||||
'.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', | ||||
'.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', | ||||
'.xm': 'text/x-logos', | ||||
'.xmi': 'text/x-logos', | ||||
'.xml': 'application/xml', | ||||
'.xo': 'application/vnd.olpc-sugar', | ||||
'.xop': 'application/xop+xml', | ||||
'.xpdl': 'application/xml', | ||||
'.xpi': 'application/x-xpinstall', | ||||
'.xpl': 'application/xsl+xml', | ||||
'.xpm': 'image/x-xpixmap', | ||||
'.xpr': 'application/vnd.is-xpr', | ||||
'.xps': 'application/vnd.ms-xpsdocument', | ||||
'.xpw': 'application/vnd.intercon.formnet', | ||||
'.xpx': 'application/vnd.intercon.formnet', | ||||
'.xq': 'application/xquery', | ||||
'.xql': 'application/xquery', | ||||
'.xqm': 'application/xquery', | ||||
'.xquery': 'application/xquery', | ||||
'.xqy': 'application/xquery', | ||||
'.xsd': 'application/xml', | ||||
'.xsl': 'application/xml', | ||||
'.xslt': 'application/xslt+xml', | ||||
'.xsm': 'application/vnd.syncml+xml', | ||||
'.xspf': 'application/xspf+xml', | ||||
'.xtend': 'text/x-xtend', | ||||
'.xul': 'application/vnd.mozilla.xul+xml', | ||||
'.xvm': 'application/xv+xml', | ||||
'.xvml': 'application/xv+xml', | ||||
'.xwd': 'image/x-xwindowdump', | ||||
'.xyz': 'chemical/x-xyz', | ||||
'.yaml': 'text/x-yaml', | ||||
'.yang': 'application/yang', | ||||
'.yin': 'application/yin+xml', | ||||
'.yml': 'text/x-yaml', | ||||
'.zaz': 'application/vnd.zzazz.deck+xml', | ||||
'.zip': 'application/zip', | ||||
'.zir': 'application/vnd.zul', | ||||
'.zirz': 'application/vnd.zul', | ||||
'.zmm': 'application/vnd.handheld-entertainment+xml'} | ||||
] | ||||
def get_mimetypes_db(extra_types=None): | ||||
import mimetypes | ||||
types_map = TYPES_MAP | ||||
if extra_types: | ||||
types_map = TYPES_MAP[::] # copy the initial version for extending | ||||
types_map[1].update(extra_types) | ||||
db = mimetypes.MimeTypes() | ||||
db.types_map = types_map | ||||
return db | ||||