1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-03 07:55:36 +00:00

[api] update mime-map

This commit is contained in:
poetwang
2012-09-15 11:31:02 +08:00
parent 236591ba0e
commit 96e97edeff
2 changed files with 439 additions and 425 deletions

View File

@@ -1,424 +1,438 @@
import os import os
mime_str = """ MIME_MAP = {
3gp video/3gpp '3gp': 'video/3gpp',
aab application/x-authoware-bin 'aab': 'application/x-authoware-bin',
aam application/x-authoware-map 'aam': 'application/x-authoware-map',
aas application/x-authoware-seg 'aas': 'application/x-authoware-seg',
ai application/postscript 'ai': 'application/postscript',
aif audio/x-aiff 'aif': 'audio/x-aiff',
aifc audio/x-aiff 'aifc': 'audio/x-aiff',
aiff audio/x-aiff 'aiff': 'audio/x-aiff',
als audio/X-Alpha5 'als': 'audio/X-Alpha5',
amc application/x-mpeg 'amc': 'application/x-mpeg',
ani application/octet-stream 'ani': 'application/octet-stream',
asc text/plain 'asc': 'text/plain',
asd application/astound 'asd': 'application/astound',
asf video/x-ms-asf 'asf': 'video/x-ms-asf',
asn application/astound 'asn': 'application/astound',
asp application/x-asap 'asp': 'application/x-asap',
asx video/x-ms-asf 'asx': 'video/x-ms-asf',
au audio/basic 'au': 'audio/basic',
avb application/octet-stream 'avb': 'application/octet-stream',
avi video/x-msvideo 'avi': 'video/x-msvideo',
awb audio/amr-wb 'awb': 'audio/amr-wb',
bcpio application/x-bcpio 'bcpio': 'application/x-bcpio',
bin application/octet-stream 'bin': 'application/octet-stream',
bld application/bld 'bld': 'application/bld',
bld2 application/bld2 'bld2': 'application/bld2',
bmp application/x-MS-bmp 'bmp': 'application/x-MS-bmp',
bpk application/octet-stream 'bpk': 'application/octet-stream',
bz2 application/x-bzip2 'bz2': 'application/x-bzip2',
cal image/x-cals 'c': 'text/x-c',
ccn application/x-cnc 'cal': 'image/x-cals',
cco application/x-cocoa 'cc': 'text/x-c++',
cdf application/x-netcdf 'ccn': 'application/x-cnc',
cgi magnus-internal/cgi 'cco': 'application/x-cocoa',
chat application/x-chat 'cdf': 'application/x-netcdf',
class application/octet-stream 'cgi': 'magnus-internal/cgi',
clp application/x-msclip 'chat': 'application/x-chat',
cmx application/x-cmx 'class': 'application/octet-stream',
co application/x-cult3d-object 'clp': 'application/x-msclip',
cod image/cis-cod 'cmx': 'application/x-cmx',
cpio application/x-cpio 'co': 'application/x-cult3d-object',
cpt application/mac-compactpro 'cod': 'image/cis-cod',
crd application/x-mscardfile 'cpio': 'application/x-cpio',
csh application/x-csh 'cpp': 'text/x-c++',
csm chemical/x-csml 'cpt': 'application/mac-compactpro',
csml chemical/x-csml 'crd': 'application/x-mscardfile',
css text/css 'cs': 'text/x-csharp',
cur application/octet-stream 'csh': 'text/x-csh',
dcm x-lml/x-evm 'csm': 'chemical/x-csml',
dcr application/x-director 'csml': 'chemical/x-csml',
dcx image/x-dcx 'css': 'text/css',
dhtml text/html 'cur': 'application/octet-stream',
dir application/x-director 'dcm': 'x-lml/x-evm',
dll application/octet-stream 'dcr': 'application/x-director',
dmg application/octet-stream 'dcx': 'image/x-dcx',
dms application/octet-stream 'dhtml': 'text/html',
doc application/msword 'dir': 'application/x-director',
dot application/x-dot 'dll': 'application/octet-stream',
dvi application/x-dvi 'dmg': 'application/octet-stream',
dwf drawing/x-dwf 'dms': 'application/octet-stream',
dwg application/x-autocad 'doc': 'application/msword',
dxf application/x-autocad 'docx': 'application/msword',
dxr application/x-director 'dot': 'application/x-dot',
ebk application/x-expandedbook 'dvi': 'application/x-dvi',
emb chemical/x-embl-dl-nucleotide 'dwf': 'drawing/x-dwf',
embl chemical/x-embl-dl-nucleotide 'dwg': 'application/x-autocad',
eps application/postscript 'dxf': 'application/x-autocad',
epub application/epub+zip 'dxr': 'application/x-director',
eri image/x-eri 'ebk': 'application/x-expandedbook',
es audio/echospeech 'emb': 'chemical/x-embl-dl-nucleotide',
esl audio/echospeech 'embl': 'chemical/x-embl-dl-nucleotide',
etc application/x-earthtime 'eps': 'application/postscript',
etx text/x-setext 'epub': 'application/epub+zip',
evm x-lml/x-evm 'eri': 'image/x-eri',
evy application/x-envoy 'es': 'audio/echospeech',
exe application/octet-stream 'esl': 'audio/echospeech',
fh4 image/x-freehand 'etc': 'application/x-earthtime',
fh5 image/x-freehand 'etx': 'text/x-setext',
fhc image/x-freehand 'evm': 'x-lml/x-evm',
fif image/fif 'evy': 'application/x-envoy',
fm application/x-maker 'exe': 'application/octet-stream',
fpx image/x-fpx 'fh4': 'image/x-freehand',
fvi video/isivideo 'fh5': 'image/x-freehand',
gau chemical/x-gaussian-input 'fhc': 'image/x-freehand',
gca application/x-gca-compressed 'fif': 'image/fif',
gdb x-lml/x-gdb 'fm': 'application/x-maker',
gif image/gif 'fpx': 'image/x-fpx',
gps application/x-gps 'fvi': 'video/isivideo',
gtar application/x-gtar 'gau': 'chemical/x-gaussian-input',
gz application/x-gzip 'gca': 'application/x-gca-compressed',
hdf application/x-hdf 'gdb': 'x-lml/x-gdb',
hdm text/x-hdml 'gif': 'image/gif',
hdml text/x-hdml 'gps': 'application/x-gps',
hlp application/winhlp 'gtar': 'application/x-gtar',
hqx application/mac-binhex40 'gz': 'application/x-gzip',
htm text/html 'h': 'text/x-c++hdr',
html text/html 'hdf': 'application/x-hdf',
hts text/html 'hdm': 'text/x-hdml',
ice x-conference/x-cooltalk 'hdml': 'text/x-hdml',
ico application/octet-stream 'hlp': 'application/winhlp',
ief image/ief 'hqx': 'application/mac-binhex40',
ifm image/gif 'htm': 'text/html',
ifs image/ifs 'html': 'text/html',
imy audio/melody 'hts': 'text/html',
ins application/x-NET-Install 'ice': 'x-conference/x-cooltalk',
ips application/x-ipscript 'ico': 'application/octet-stream',
ipx application/x-ipix 'ief': 'image/ief',
it audio/x-mod 'ifm': 'image/gif',
itz audio/x-mod 'ifs': 'image/ifs',
ivr i-world/i-vrml 'imy': 'audio/melody',
j2k image/j2k 'ins': 'application/x-NET-Install',
jad text/vnd.sun.j2me.app-descriptor 'ips': 'application/x-ipscript',
jam application/x-jam 'ipx': 'application/x-ipix',
jar application/java-archive 'it': 'audio/x-mod',
jnlp application/x-java-jnlp-file 'itz': 'audio/x-mod',
jpe image/jpeg 'ivr': 'i-world/i-vrml',
jpeg image/jpeg 'j2k': 'image/j2k',
jpg image/jpeg 'jad': 'text/vnd.sun.j2me.app-descriptor',
jpz image/jpeg 'jam': 'application/x-jam',
js application/x-javascript 'jar': 'application/java-archive',
jwc application/jwc 'jnlp': 'application/x-java-jnlp-file',
kjx application/x-kjx 'jpe': 'image/jpeg',
lak x-lml/x-lak 'jpeg': 'image/jpeg',
latex application/x-latex 'jpg': 'image/jpeg',
lcc application/fastman 'jpz': 'image/jpeg',
lcl application/x-digitalloca 'js': 'application/x-javascript',
lcr application/x-digitalloca 'jwc': 'application/jwc',
lgh application/lgh 'kjx': 'application/x-kjx',
lha application/octet-stream 'lak': 'x-lml/x-lak',
lml x-lml/x-lml 'latex': 'application/x-latex',
lmlpack x-lml/x-lmlpack 'lcc': 'application/fastman',
lsf video/x-ms-asf 'lcl': 'application/x-digitalloca',
lsx video/x-ms-asf 'lcr': 'application/x-digitalloca',
lzh application/x-lzh 'lgh': 'application/lgh',
m13 application/x-msmediaview 'lha': 'application/octet-stream',
m14 application/x-msmediaview 'lml': 'x-lml/x-lml',
m15 audio/x-mod 'lmlpack': 'x-lml/x-lmlpack',
m3u audio/x-mpegurl 'lsf': 'video/x-ms-asf',
m3url audio/x-mpegurl 'lsx': 'video/x-ms-asf',
ma1 audio/ma1 'lzh': 'application/x-lzh',
ma2 audio/ma2 'm13': 'application/x-msmediaview',
ma3 audio/ma3 'm14': 'application/x-msmediaview',
ma5 audio/ma5 'm15': 'audio/x-mod',
man application/x-troff-man 'm3u': 'audio/x-mpegurl',
map magnus-internal/imagemap 'm3url': 'audio/x-mpegurl',
mbd application/mbedlet 'm4': 'application/x-m4',
mct application/x-mascot 'ma1': 'audio/ma1',
mdb application/x-msaccess 'ma2': 'audio/ma2',
mdz audio/x-mod 'ma3': 'audio/ma3',
me application/x-troff-me 'ma5': 'audio/ma5',
mel text/x-vmel 'man': 'application/x-troff-man',
mi application/x-mif 'map': 'magnus-internal/imagemap',
mid audio/midi 'markdown': 'text/x-markdown',
midi audio/midi 'mbd': 'application/mbedlet',
mif application/x-mif 'mct': 'application/x-mascot',
mil image/x-cals 'md': 'text/x-markdown',
mio audio/x-mio 'mdb': 'application/x-msaccess',
mmf application/x-skt-lbs 'mdz': 'audio/x-mod',
mng video/x-mng 'me': 'application/x-troff-me',
mny application/x-msmoney 'mel': 'text/x-vmel',
moc application/x-mocha 'mi': 'application/x-mif',
mocha application/x-mocha 'mid': 'audio/midi',
mod audio/x-mod 'midi': 'audio/midi',
mof application/x-yumekara 'mif': 'application/x-mif',
mol chemical/x-mdl-molfile 'mil': 'image/x-cals',
mop chemical/x-mopac-input 'mio': 'audio/x-mio',
mov video/quicktime 'mmf': 'application/x-skt-lbs',
movie video/x-sgi-movie 'mng': 'video/x-mng',
mp2 audio/x-mpeg 'mny': 'application/x-msmoney',
mp3 audio/x-mpeg 'moc': 'application/x-mocha',
mp4 video/mp4 'mocha': 'application/x-mocha',
mpc application/vnd.mpohun.certificate 'mod': 'audio/x-mod',
mpe video/mpeg 'mof': 'application/x-yumekara',
mpeg video/mpeg 'mol': 'chemical/x-mdl-molfile',
mpg video/mpeg 'mop': 'chemical/x-mopac-input',
mpg4 video/mp4 'mov': 'video/quicktime',
mpga audio/mpeg 'movie': 'video/x-sgi-movie',
mpn application/vnd.mophun.application 'mp2': 'audio/x-mpeg',
mpp application/vnd.ms-project 'mp3': 'audio/x-mpeg',
mps application/x-mapserver 'mp4': 'video/mp4',
mrl text/x-mrml 'mpc': 'application/vnd.mpohun.certificate',
mrm application/x-mrm 'mpe': 'video/mpeg',
ms application/x-troff-ms 'mpeg': 'video/mpeg',
mts application/metastream 'mpg': 'video/mpeg',
mtx application/metastream 'mpg4': 'video/mp4',
mtz application/metastream 'mpga': 'audio/mpeg',
mzv application/metastream 'mpn': 'application/vnd.mophun.application',
nar application/zip 'mpp': 'application/vnd.ms-project',
nbmp image/nbmp 'mps': 'application/x-mapserver',
nc application/x-netcdf 'mrl': 'text/x-mrml',
ndb x-lml/x-ndb 'mrm': 'application/x-mrm',
ndwn application/ndwn 'ms': 'application/x-troff-ms',
nif application/x-nif 'mts': 'application/metastream',
nmz application/x-scream 'mtx': 'application/metastream',
nokia-op-logo image/vnd.nok-oplogo-color 'mtz': 'application/metastream',
npx application/x-netfpx 'mzv': 'application/metastream',
nsnd audio/nsnd 'nar': 'application/zip',
nva application/x-neva1 'nbmp': 'image/nbmp',
oda application/oda 'nc': 'application/x-netcdf',
oom application/x-AtlasMate-Plugin 'ndb': 'x-lml/x-ndb',
pac audio/x-pac 'ndwn': 'application/ndwn',
pae audio/x-epac 'nif': 'application/x-nif',
pan application/x-pan 'nmz': 'application/x-scream',
pbm image/x-portable-bitmap 'nokia-op-logo': 'image/vnd.nok-oplogo-color',
pcx image/x-pcx 'npx': 'application/x-netfpx',
pda image/x-pda 'nsnd': 'audio/nsnd',
pdb chemical/x-pdb 'nva': 'application/x-neva1',
pdf application/pdf 'oda': 'application/oda',
pfr application/font-tdpfr 'odb': 'application/vnd.oasis.opendocument.database',
pgm image/x-portable-graymap 'odf': 'application/vnd.oasis.opendocument.formula',
pict image/x-pict 'odg': 'application/vnd.oasis.opendocument.graphics',
pm application/x-perl 'odi': 'application/vnd.oasis.opendocument.image',
pmd application/x-pmd 'odp': 'application/vnd.oasis.opendocument.presentation',
png image/png 'ods': 'application/vnd.oasis.opendocument.spreadsheet',
pnm image/x-portable-anymap 'odt': 'application/vnd.oasis.opendocument.text',
pnz image/png 'oom': 'application/x-AtlasMate-Plugin',
pot application/vnd.ms-powerpoint 'oth': 'application/vnd.oasis.opendocument.text-web',
ppm image/x-portable-pixmap 'pac': 'audio/x-pac',
pps application/vnd.ms-powerpoint 'pae': 'audio/x-epac',
ppt application/vnd.ms-powerpoint 'pan': 'application/x-pan',
pqf application/x-cprplayer 'pbm': 'image/x-portable-bitmap',
pqi application/cprplayer 'pcx': 'image/x-pcx',
prc application/x-prc 'pda': 'image/x-pda',
proxy application/x-ns-proxy-autoconfig 'pdb': 'chemical/x-pdb',
ps application/postscript 'pdf': 'application/pdf',
ptlk application/listenup 'pfr': 'application/font-tdpfr',
pub application/x-mspublisher 'pgm': 'image/x-portable-graymap',
pvx video/x-pv-pvx 'php': 'application/x-php',
qcp audio/vnd.qcelp 'pict': 'image/x-pict',
qt video/quicktime 'pm': 'application/x-perl',
qti image/x-quicktime 'pmd': 'application/x-pmd',
qtif image/x-quicktime 'png': 'image/png',
r3t text/vnd.rn-realtext3d 'pnm': 'image/x-portable-anymap',
ra audio/x-pn-realaudio 'pnz': 'image/png',
ram audio/x-pn-realaudio 'pot': 'application/vnd.ms-powerpoint',
rar application/octet-stream 'ppm': 'image/x-portable-pixmap',
ras image/x-cmu-raster 'pps': 'application/vnd.ms-powerpoint',
rdf application/rdf+xml 'ppt': 'application/vnd.ms-powerpoint',
rf image/vnd.rn-realflash 'pptx': 'application/vnd.ms-powerpoint',
rgb image/x-rgb 'pqf': 'application/x-cprplayer',
rlf application/x-richlink 'pqi': 'application/cprplayer',
rm audio/x-pn-realaudio 'prc': 'application/x-prc',
rmf audio/x-rmf 'proxy': 'application/x-ns-proxy-autoconfig',
rmm audio/x-pn-realaudio 'ps': 'application/postscript',
rmvb audio/x-pn-realaudio 'ptlk': 'application/listenup',
rnx application/vnd.rn-realplayer 'pub': 'application/x-mspublisher',
roff application/x-troff 'pvx': 'video/x-pv-pvx',
rp image/vnd.rn-realpix 'py': 'text/x-python',
rpm audio/x-pn-realaudio-plugin 'pyc': 'application/x-python-bytecode',
rt text/vnd.rn-realtext 'qcp': 'audio/vnd.qcelp',
rte x-lml/x-gps 'qt': 'video/quicktime',
rtf application/rtf 'qti': 'image/x-quicktime',
rtg application/metastream 'qtif': 'image/x-quicktime',
rtx text/richtext 'r3t': 'text/vnd.rn-realtext3d',
rv video/vnd.rn-realvideo 'ra': 'audio/x-pn-realaudio',
rwc application/x-rogerwilco 'ram': 'audio/x-pn-realaudio',
s3m audio/x-mod 'rar': 'application/x-rar',
s3z audio/x-mod 'ras': 'image/x-cmu-raster',
sca application/x-supercard 'rdf': 'application/rdf+xml',
scd application/x-msschedule 'rf': 'image/vnd.rn-realflash',
sdf application/e-score 'rgb': 'image/x-rgb',
sea application/x-stuffit 'rlf': 'application/x-richlink',
sgm text/x-sgml 'rm': 'audio/x-pn-realaudio',
sgml text/x-sgml 'rmf': 'audio/x-rmf',
sh application/x-sh 'rmm': 'audio/x-pn-realaudio',
shar application/x-shar 'rmvb': 'audio/x-pn-realaudio',
shtml magnus-internal/parsed-html 'rnx': 'application/vnd.rn-realplayer',
shw application/presentations 'roff': 'application/x-troff',
si6 image/si6 'rp': 'image/vnd.rn-realpix',
si7 image/vnd.stiwap.sis 'rpm': 'audio/x-pn-realaudio-plugin',
si9 image/vnd.lgtwap.sis 'rt': 'text/vnd.rn-realtext',
sis application/vnd.symbian.install 'rte': 'x-lml/x-gps',
sit application/x-stuffit 'rtf': 'application/rtf',
skd application/x-Koan 'rtg': 'application/metastream',
skm application/x-Koan 'rtx': 'text/richtext',
skp application/x-Koan 'rv': 'video/vnd.rn-realvideo',
skt application/x-Koan 'rwc': 'application/x-rogerwilco',
slc application/x-salsa 's3m': 'audio/x-mod',
smd audio/x-smd 's3z': 'audio/x-mod',
smi application/smil 'sca': 'application/x-supercard',
smil application/smil 'scd': 'application/x-msschedule',
smp application/studiom 'sdf': 'application/e-score',
smz audio/x-smd 'sdp': 'application/sdp',
snd audio/basic 'sea': 'application/x-stuffit',
spc text/x-speech 'sgm': 'text/x-sgml',
spl application/futuresplash 'sgml': 'text/x-sgml',
spr application/x-sprite 'sh': 'text/x-sh',
sprite application/x-sprite 'shar': 'application/x-shar',
sdp application/sdp 'shtml': 'magnus-internal/parsed-html',
spt application/x-spt 'shw': 'application/presentations',
src application/x-wais-source 'si6': 'image/si6',
stk application/hyperstudio 'si7': 'image/vnd.stiwap.sis',
stm audio/x-mod 'si9': 'image/vnd.lgtwap.sis',
sv4cpio application/x-sv4cpio 'sis': 'application/vnd.symbian.install',
sv4crc application/x-sv4crc 'sit': 'application/x-stuffit',
svf image/vnd 'skd': 'application/x-Koan',
svg image/svg-xml 'skm': 'application/x-Koan',
svh image/svh 'skp': 'application/x-Koan',
svr x-world/x-svr 'skt': 'application/x-Koan',
swf application/x-shockwave-flash 'slc': 'application/x-salsa',
swfl application/x-shockwave-flash 'smd': 'audio/x-smd',
t application/x-troff 'smi': 'application/smil',
tad application/octet-stream 'smil': 'application/smil',
talk text/x-speech 'smp': 'application/studiom',
tar application/x-tar 'smz': 'audio/x-smd',
taz application/x-tar 'snd': 'audio/basic',
tbp application/x-timbuktu 'spc': 'text/x-speech',
tbt application/x-timbuktu 'spl': 'application/futuresplash',
tcl application/x-tcl 'spr': 'application/x-sprite',
tex application/x-tex 'sprite': 'application/x-sprite',
texi application/x-texinfo 'spt': 'application/x-spt',
texinfo application/x-texinfo 'src': 'application/x-wais-source',
tgz application/x-tar 'stk': 'application/hyperstudio',
thm application/vnd.eri.thm 'stm': 'audio/x-mod',
tif image/tiff 'sv4cpio': 'application/x-sv4cpio',
tiff image/tiff 'sv4crc': 'application/x-sv4crc',
tki application/x-tkined 'svf': 'image/vnd',
tkined application/x-tkined 'svg': 'image/svg-xml',
toc application/toc 'svh': 'image/svh',
toy image/toy 'svr': 'x-world/x-svr',
tr application/x-troff 'swf': 'application/x-shockwave-flash',
trk x-lml/x-gps 'swfl': 'application/x-shockwave-flash',
trm application/x-msterminal 't': 'application/x-troff',
tsi audio/tsplayer 'tad': 'application/octet-stream',
tsp application/dsptype 'talk': 'text/x-speech',
tsv text/tab-separated-values 'tar': 'application/x-tar',
ttf application/octet-stream 'taz': 'application/x-tar',
ttz application/t-time 'tbp': 'application/x-timbuktu',
txt text/plain 'tbt': 'application/x-timbuktu',
ult audio/x-mod 'tcl': 'application/x-tcl',
ustar application/x-ustar 'tex': 'application/x-tex',
uu application/x-uuencode 'texi': 'application/x-texinfo',
uue application/x-uuencode 'texinfo': 'application/x-texinfo',
vcd application/x-cdlink 'tgz': 'application/x-tar',
vcf text/x-vcard 'thm': 'application/vnd.eri.thm',
vdo video/vdo 'tif': 'image/tiff',
vib audio/vib 'tiff': 'image/tiff',
viv video/vivo 'tki': 'application/x-tkined',
vivo video/vivo 'tkined': 'application/x-tkined',
vmd application/vocaltec-media-desc 'toc': 'application/toc',
vmf application/vocaltec-media-file 'toy': 'image/toy',
vmi application/x-dreamcast-vms-info 'tr': 'application/x-troff',
vms application/x-dreamcast-vms 'trk': 'x-lml/x-gps',
vox audio/voxware 'trm': 'application/x-msterminal',
vqe audio/x-twinvq-plugin 'tsi': 'audio/tsplayer',
vqf audio/x-twinvq 'tsp': 'application/dsptype',
vql audio/x-twinvq 'tsv': 'text/tab-separated-values',
vre x-world/x-vream 'ttf': 'application/octet-stream',
vrml x-world/x-vrml 'ttz': 'application/t-time',
vrt x-world/x-vrt 'txt': 'text/plain',
vrw x-world/x-vream 'ult': 'audio/x-mod',
vts workbook/formulaone 'ustar': 'application/x-ustar',
wav audio/x-wav 'uu': 'application/x-uuencode',
wax audio/x-ms-wax 'uue': 'application/x-uuencode',
wbmp image/vnd.wap.wbmp 'vcd': 'application/x-cdlink',
web application/vnd.xara 'vcf': 'text/x-vcard',
wi image/wavelet 'vdo': 'video/vdo',
wis application/x-InstallShield 'vib': 'audio/vib',
wm video/x-ms-wm 'viv': 'video/vivo',
wma audio/x-ms-wma 'vivo': 'video/vivo',
wmd application/x-ms-wmd 'vmd': 'application/vocaltec-media-desc',
wmf application/x-msmetafile 'vmf': 'application/vocaltec-media-file',
wml text/vnd.wap.wml 'vmi': 'application/x-dreamcast-vms-info',
wmlc application/vnd.wap.wmlc 'vms': 'application/x-dreamcast-vms',
wmls text/vnd.wap.wmlscript 'vox': 'audio/voxware',
wmlsc application/vnd.wap.wmlscriptc 'vqe': 'audio/x-twinvq-plugin',
wmlscript text/vnd.wap.wmlscript 'vqf': 'audio/x-twinvq',
wmv video/x-ms-wmv 'vql': 'audio/x-twinvq',
wmx video/x-ms-wmx 'vre': 'x-world/x-vream',
wmz application/x-ms-wmz 'vrml': 'x-world/x-vrml',
wpng image/x-up-wpng 'vrt': 'x-world/x-vrt',
wpt x-lml/x-gps 'vrw': 'x-world/x-vream',
wri application/x-mswrite 'vts': 'workbook/formulaone',
wrl x-world/x-vrml 'wav': 'audio/x-wav',
wrz x-world/x-vrml 'wax': 'audio/x-ms-wax',
ws text/vnd.wap.wmlscript 'wbmp': 'image/vnd.wap.wbmp',
wsc application/vnd.wap.wmlscriptc 'web': 'application/vnd.xara',
wv video/wavelet 'wi': 'image/wavelet',
wvx video/x-ms-wvx 'wis': 'application/x-InstallShield',
wxl application/x-wxl 'wm': 'video/x-ms-wm',
x-gzip application/x-gzip 'wma': 'audio/x-ms-wma',
xar application/vnd.xara 'wmd': 'application/x-ms-wmd',
xbm image/x-xbitmap 'wmf': 'application/x-msmetafile',
xdm application/x-xdma 'wml': 'text/vnd.wap.wml',
xdma application/x-xdma 'wmlc': 'application/vnd.wap.wmlc',
xdw application/vnd.fujixerox.docuworks 'wmls': 'text/vnd.wap.wmlscript',
xht application/xhtml+xml 'wmlsc': 'application/vnd.wap.wmlscriptc',
xhtm application/xhtml+xml 'wmlscript': 'text/vnd.wap.wmlscript',
xhtml application/xhtml+xml 'wmv': 'video/x-ms-wmv',
xla application/vnd.ms-excel 'wmx': 'video/x-ms-wmx',
xlc application/vnd.ms-excel 'wmz': 'application/x-ms-wmz',
xll application/x-excel 'wpng': 'image/x-up-wpng',
xlm application/vnd.ms-excel 'wpt': 'x-lml/x-gps',
xls application/vnd.ms-excel 'wri': 'application/x-mswrite',
xlt application/vnd.ms-excel 'wrl': 'x-world/x-vrml',
xlw application/vnd.ms-excel 'wrz': 'x-world/x-vrml',
xm audio/x-mod 'ws': 'text/vnd.wap.wmlscript',
xml text/xml 'wsc': 'application/vnd.wap.wmlscriptc',
xmz audio/x-mod 'wv': 'video/wavelet',
xpi application/x-xpinstall 'wvx': 'video/x-ms-wvx',
xpm image/x-xpixmap 'wxl': 'application/x-wxl',
xsit text/xml 'x-gzip': 'application/x-gzip',
xsl text/xml 'xar': 'application/vnd.xara',
xul text/xul 'xbm': 'image/x-xbitmap',
xwd image/x-xwindowdump 'xdm': 'application/x-xdma',
xyz chemical/x-pdb 'xdma': 'application/x-xdma',
yz1 application/x-yz1 'xdw': 'application/vnd.fujixerox.docuworks',
z application/x-compress 'xht': 'application/xhtml+xml',
zac application/x-zaurus-zac 'xhtm': 'application/xhtml+xml',
zip application/zip 'xhtml': 'application/xhtml+xml',
""" 'xla': 'application/vnd.ms-excel',
'xlc': 'application/vnd.ms-excel',
MIME_MAP = {} 'xll': 'application/x-excel',
'xlm': 'application/vnd.ms-excel',
for line in mime_str.splitlines(): 'xls': 'application/vnd.ms-excel',
pair = line.split() 'xlt': 'application/vnd.ms-excel',
if len(pair) == 2: 'xlw': 'application/vnd.ms-excel',
MIME_MAP[pair[0]] = pair[1] 'xm': 'audio/x-mod',
'xml': 'text/xml',
'xmz': 'audio/x-mod',
'xpi': 'application/x-xpinstall',
'xpm': 'image/x-xpixmap',
'xsit': 'text/xml',
'xsl': 'text/xml',
'xul': 'text/xul',
'xwd': 'image/x-xwindowdump',
'xyz': 'chemical/x-pdb',
'yz1': 'application/x-yz1',
'z': 'application/x-compress',
'zac': 'application/x-zaurus-zac',
'zip': 'application/zip',
'zsh': 'text/x-zsh'
}
def get_file_mime(name): def get_file_mime(name):
try: try:
@@ -429,5 +443,6 @@ def get_file_mime(name):
except Exception, e: except Exception, e:
return None return None
if __name__ == "__main__": if __name__ == "__main__":
print MIME_MAP print MIME_MAP

View File

@@ -49,11 +49,12 @@ json_content_type = 'application/json; charset=utf-8'
HTTP_ERRORS = { HTTP_ERRORS = {
'400':'Bad arguments', '400':'Bad arguments',
'401':'Repo is not encrypted', '401':'Login required',
'402':'Incorrect password', '402':'Incorrect password',
'403':'Can not access repo', '403':'Can not access repo',
'404':'Repo not found', '404':'Repo not found',
'405':'Query password set error', '405':'Query password set error',
'406':'Repo is not encrypted',
'407':'Method not supported', '407':'Method not supported',
'408':'Login failed', '408':'Login failed',
'410':'Path does not exist', '410':'Path does not exist',
@@ -76,6 +77,7 @@ HTTP_ERRORS = {
def api_error(request, code='499', msg=None): def api_error(request, code='499', msg=None):
err_resp = { 'error_msg': msg if msg is not None else HTTP_ERRORS[code] } err_resp = { 'error_msg': msg if msg is not None else HTTP_ERRORS[code] }
print "===============,", code, err_resp
return HttpResponse(json.dumps(err_resp), status=code, return HttpResponse(json.dumps(err_resp), status=code,
content_type=json_content_type) content_type=json_content_type)
@@ -89,10 +91,7 @@ def api_user_passes_test(test_func):
def _wrapped_view(obj, request, *args, **kwargs): def _wrapped_view(obj, request, *args, **kwargs):
if test_func(request.user): if test_func(request.user):
return view_func(obj, request, *args, **kwargs) return view_func(obj, request, *args, **kwargs)
json_content_type = 'application/json; charset=utf-8' return api_error (request, '401')
return HttpResponse(json.dumps('login required'), status=401,
content_type=json_content_type)
return wraps(view_func, assigned=available_attrs(view_func))(_wrapped_view) return wraps(view_func, assigned=available_attrs(view_func))(_wrapped_view)
return decorator return decorator
@@ -191,7 +190,7 @@ def set_repo_password(request, repo, password):
if e.msg == 'Bad arguments': if e.msg == 'Bad arguments':
return api_error(request, '400') return api_error(request, '400')
elif e.msg == 'Repo is not encrypted': elif e.msg == 'Repo is not encrypted':
return api_error(request, '401') return api_error(request, '406')
elif e.msg == 'Incorrect password': elif e.msg == 'Incorrect password':
return api_error(request, '402') return api_error(request, '402')
elif e.msg == 'Internal server error': elif e.msg == 'Internal server error':