1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
/*
Script: deluge-mime.js
Library for converting mimetypes to extensions and vica versa.
License:
General Public License v3
Copyright:
Damien Churchill (c) 2008 <damoxc@gmail.com>
Object: Deluge.Mime
Object containing all mime related functions.
*/
Deluge.Mime = {
types_map: new Hash({
'.doc': 'application/msword',
'.dot': 'application/msword',
'.wiz': 'application/msword',
'.a': 'application/octet-stream',
'.bin': 'application/octet-stream',
'.dll': 'application/octet-stream',
'.exe': 'application/octet-stream',
'.o': 'application/octet-stream',
'.obj': 'application/octet-stream',
'.so': 'application/octet-stream',
'.oda': 'application/oda',
'.pdf': 'application/pdf',
'.p7c': 'application/pkcs7-mime',
'.ai': 'application/postscript',
'.eps': 'application/postscript',
'.ps': 'application/postscript',
'.xlb': 'application/vnd.ms-excel',
'.xls': 'application/vnd.ms-excel',
'.pot': 'application/vnd.ms-powerpoint',
'.ppa': 'application/vnd.ms-powerpoint',
'.pps': 'application/vnd.ms-powerpoint',
'.ppt': 'application/vnd.ms-powerpoint',
'.pwz': 'application/vnd.ms-powerpoint',
'.bcpio': 'application/x-bcpio',
'.cpio': 'application/x-cpio',
'.csh': 'application/x-csh',
'.dvi': 'application/x-dvi',
'.gtar': 'application/x-gtar',
'.hdf': 'application/x-hdf',
'.js': 'application/x-javascript',
'.latex': 'application/x-latex',
'.mif': 'application/x-mif',
'.cdf': 'application/x-netcdf',
'.nc': 'application/x-netcdf',
'.p12': 'application/x-pkcs12',
'.pfx': 'application/x-pkcs12',
'.ram': 'application/x-pn-realaudio',
'.pyc': 'application/x-python-code',
'.pyo': 'application/x-python-code',
'.sh': 'application/x-sh',
'.shar': 'application/x-shar',
'.swf': 'application/x-shockwave-flash',
'.sv4cpio': 'application/x-sv4cpio',
'.sv4crc': 'application/x-sv4crc',
'.tar': 'application/x-tar',
'.tcl': 'application/x-tcl',
'.tex': 'application/x-tex',
'.texi': 'application/x-texinfo',
'.texinfo': 'application/x-texinfo',
'.roff': 'application/x-troff',
'.t': 'application/x-troff',
'.tr': 'application/x-troff',
'.man': 'application/x-troff-man',
'.me': 'application/x-troff-me',
'.ms': 'application/x-troff-ms',
'.ustar': 'application/x-ustar',
'.src': 'application/x-wais-source',
'.rdf': 'application/xml',
'.wsdl': 'application/xml',
'.xpdl': 'application/xml',
'.xsl': 'application/xml',
'.zip': 'application/zip',
'.au': 'audio/basic',
'.snd': 'audio/basic',
'.mp2': 'audio/mpeg',
'.mp3': 'audio/mpeg',
'.aif': 'audio/x-aiff',
'.aifc': 'audio/x-aiff',
'.aiff': 'audio/x-aiff',
'.ra': 'audio/x-pn-realaudio',
'.wav': 'audio/x-wav',
'.gif': 'image/gif',
'.ief': 'image/ief',
'.jpe': 'image/jpeg',
'.jpeg': 'image/jpeg',
'.jpg': 'image/jpeg',
'.png': 'image/png',
'.tif': 'image/tiff',
'.tiff': 'image/tiff',
'.ras': 'image/x-cmu-raster',
'.bmp': 'image/x-ms-bmp',
'.pnm': 'image/x-portable-anymap',
'.pbm': 'image/x-portable-bitmap',
'.pgm': 'image/x-portable-graymap',
'.ppm': 'image/x-portable-pixmap',
'.rgb': 'image/x-rgb',
'.xbm': 'image/x-xbitmap',
'.xpm': 'image/x-xpixmap',
'.xwd': 'image/x-xwindowdump',
'.eml': 'message/rfc822',
'.mht': 'message/rfc822',
'.mhtml': 'message/rfc822',
'.nws': 'message/rfc822',
'.css': 'text/css',
'.htm': 'text/html',
'.html': 'text/html',
'.bat': 'text/plain',
'.c': 'text/plain',
'.h': 'text/plain',
'.ksh': 'text/plain',
'.pl': 'text/plain',
'.txt': 'text/plain',
'.rtx': 'text/richtext',
'.tsv': 'text/tab-separated-values',
'.py': 'text/x-python',
'.etx': 'text/x-setext',
'.sgm': 'text/x-sgml',
'.sgml': 'text/x-sgml',
'.vcf': 'text/x-vcard',
'.xml': 'text/xml',
'.m1v': 'video/mpeg',
'.mpa': 'video/mpeg',
'.mpe': 'video/mpeg',
'.mpeg': 'video/mpeg',
'.mpg': 'video/mpeg',
'.mov': 'video/quicktime',
'.qt': 'video/quicktime',
'.avi': 'video/x-msvideo',
'.movie': 'video/x-sgi-movie'
}),
getMimeType: function(filename) {
var extension = filename.match(/^.*(\.\w+)$/)
if (extension) extension = extension[1]
else return null;
if (this.types_map.has(extension)) return this.types_map[extension];
else return null;
}
}
|