rwdtorrent 0.04 → 0.05

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,7 @@ def findzipfiles(d)
13
13
  if(!test(?d,x))
14
14
  # only zip files
15
15
  if x =~ /\.zip/
16
- puts "#{x}" #opens the file thats in fileName as read only
16
+ #opens the file thats in fileName as read only
17
17
  $zipsarray = $zipsarray | ["#{x}"]
18
18
  end
19
19
  end
@@ -16,7 +16,7 @@ def listzipfilestoinstall
16
16
  a.each do |x|
17
17
  # only zip files
18
18
  if x =~ /\.zip/
19
- # puts "#{x}" #adds the file to the array to display on the screen
19
+ #adds the file to the array to display on the screen
20
20
  $zipsarraylocal = $zipsarraylocal | ["#{x}"]
21
21
  end
22
22
 
@@ -12,24 +12,7 @@ def loadconfigurationrecord
12
12
  fileName = File.join(ConfigurationDir, TinkerWin2ConfigurationFileName)
13
13
 
14
14
  fd = File.open(fileName,"r")
15
- @a_configline1= fd.readline.chomp
16
- @a_configline2 = fd.readline.chomp
17
- @a_configline3 = fd.readline.chomp
18
- @a_configline4 = fd.readline.chomp
19
- @a_configline5 = fd.readline.chomp
20
- @a_configline6 = fd.readline.chomp
21
- @a_configline7 =fd.readline.chomp
22
- @a_configline8 = fd.readline.chomp
23
- @a_configline9 = fd.readline.chomp
24
- @a_configline10 = fd.readline.chomp
25
- @a_configline11 =fd.readline.chomp
26
- @a_configline12 = fd.readline.chomp
27
- @a_configline13 =fd.readline.chomp
28
- @a_configline14 = fd.readline.chomp
29
-
30
- while ! fd.eof?
31
- @extraconfigdatadisplay = fd.readline
32
- end
15
+ @a_configurationfile = fd.read
33
16
  fd.close
34
17
  rescue SystemCallError, StandardError
35
18
  $stderr.print "system call error: " + $!
@@ -3,12 +3,9 @@ def saveconfigurationrecord
3
3
  require 'fileutils'
4
4
  if @a_configurationfilename
5
5
  newname = "%s" % [@a_configurationfilename] # grab the filename to create
6
- newdata =@a_configline1.to_s + "\n" + @a_configline2.to_s + "\n" + @a_configline3.to_s + "\n" + @a_configline4.to_s + "\n" + @a_configline5.to_s +
7
- "\n" + @a_configline6.to_s + "\n" + @a_configline7.to_s + "\n" + @a_configline8.to_s + "\n" +
8
- @a_configline9.to_s + "\n" + @a_configline10.to_s + "\n" + @a_configline11.to_s + "\n" +
9
- @a_configline12.to_s + "\n" + @a_configline13.to_s + "\n" + @a_configline14.to_s + "\n"
6
+ newdata =@a_configurationfile
10
7
 
11
- begin # exception trapped block
8
+ begin # exception trapped block
12
9
  fileName = File.join( ConfigurationDir, newname )
13
10
  fd = File.open(fileName,"w")
14
11
  fd.print(newdata) # save the record info to the file
@@ -1,4 +1,4 @@
1
- ##VERSION:1.65
1
+ ##VERSION:1.66
2
2
  ConfigurationDir = "configuration" # for use in program - init.rb has this value without using this constant
3
3
  CodeName = "rwdtinker"
4
4
  CodeNameFile = CodeName + ".rb"
@@ -14,7 +14,7 @@ LangDir = "lang"
14
14
  $rwdjumplink = ["helpscreen","tinkerbackwindow","returntomain","opendocuments","editconfiguration"]
15
15
  $tinkerhelpaboutarray = ["Tinker"]
16
16
  Browser_Exe = 'mozilla '
17
- $tinkerdocumentsarray =["COPYING","HowTo_Tinker.txt","rwdapplications.html","RubyWebDialogs.html"]
18
- RwdTinkerVersion = "1.65"
17
+ $tinkerdocumentsarray +=["COPYING","HowTo_Tinker.txt","rwdapplications.html","RubyWebDialogs.html"]
18
+ RwdTinkerVersion = "1.66"
19
19
 
20
20
 
@@ -1,4 +1,4 @@
1
- ##VERSION:0.04
1
+ ##VERSION:0.05
2
2
  ##NAME:$rwdtorrentfilesdir:0
3
3
  $rwdtorrentfilesdir="torrentfiles"
4
4
  ##NAME:$rwdtorrentdownloads:0
@@ -13,6 +13,6 @@ TorrentRootDir=$progdir + "/"
13
13
  $testharnessarray += ["rwdtorrent_all_tests"]
14
14
  $tinkerdocumentsarray += ["HowTo_Torrent.txt"]
15
15
  $tinkerhelpaboutarray += ["RwdTorrent"]
16
- RwdTorrentVersion = "0.04"
16
+ RwdTorrentVersion = "0.05"
17
17
 
18
18
 
data/ev/browser.rb CHANGED
@@ -16,20 +16,33 @@ def windowsbrowser
16
16
  application = nil
17
17
 
18
18
  begin
19
- Win32::Registry::HKEY_CLASSES_ROOT.open('.html') do |reg|
19
+ Win32::Registry::HKEY_CLASSES_ROOT.open(".html") do |reg|
20
20
  filetype = reg[""]
21
21
  end
22
22
 
23
- Win32::Registry::HKEY_CLASSES_ROOT.open(filetype + '\shell\open\command') do |reg|
23
+ Win32::Registry::HKEY_CLASSES_ROOT.open(filetype + "\\shell\\open\\command") do |reg|
24
24
  application = reg[""]
25
25
  end
26
26
  rescue NameError
27
- $stderr.puts "Only available for Windows."
27
+ $stderr.puts "Only available for Windows and Cygwin."
28
28
  end
29
29
 
30
30
  application
31
31
  end
32
32
 
33
+ def cygwinbrowser
34
+ browser, *args = windowsbrowser.splitwords
35
+ browser = browser.gsub(/\\/, "/")
36
+ #browser = browser
37
+
38
+ args.collect!{|a| a.gsub(/\\/, "/")}
39
+ #args.collect!{|a| "\"%s\"" % [a.gsub(/\\/, "/")]}
40
+ #args.collect!{|a| "\"%s\"" % [a]}
41
+
42
+ res = "\"%s\" %s" % [browser, args.join(" ")]
43
+ res
44
+ end
45
+
33
46
  def linuxbrowser
34
47
  application = ""
35
48
 
@@ -47,25 +60,26 @@ end
47
60
  def defaultbrowser
48
61
  res = nil
49
62
  res = windowsbrowser if windows?
63
+ res = cygwinbrowser if cygwin?
50
64
  res = linuxbrowser if linux?
51
65
  res
52
66
  end
53
67
 
68
+ def showurlinbrowser(url, browser=defaultbrowser)
69
+ command = "#{browser} \"#{url}\""
70
+
71
+ system(command) or $stderr.puts "Starting of the browser failed, or the browser terminated abnormally.\nCommand => #{command}"
72
+ end
73
+
54
74
  def showinbrowser(html, browser=defaultbrowser)
55
75
  port, io = TCPServer.freeport(7701, 7709)
56
76
 
57
77
  unless browser.nil?
58
78
  Thread.new do
59
79
  begin
60
- #command = "1234 \"http://localhost:#{port}\"" if linux?
61
- #command = "L:/prog/MozillaFirefox/firefox.exe \"http://localhost:#{port}\"" if cygwin?
62
- #command = Win32::Registry::HKEY_CLASSES_ROOT.open('htmlfile\shell\open\command')[0] + " \"http://localhost:#{port}/\"" if windows?
63
-
64
- command = "#{browser} \"http://localhost:#{port}\""
65
-
66
80
  Thread.pass
67
81
 
68
- system(command)
82
+ showurlinbrowser("http://localhost:#{port}/", browser)
69
83
  rescue
70
84
  end
71
85
  end
data/ev/ftools.rb CHANGED
@@ -1,22 +1,12 @@
1
1
  require "ftools"
2
2
 
3
3
  class Dir
4
- def self.mkdirrec(dir)
5
- pdir = File.dirname(dir)
6
-
7
- if not pdir.empty? and not File.directory?(pdir)
8
- Dir.mkdirrec(pdir)
9
- end
10
-
11
- Dir.mkdir(dir) rescue nil
12
- end
13
-
14
4
  def self.copy(from, to)
15
5
  if File.directory?(from)
16
6
  pdir = Dir.pwd
17
7
  todir = File.expand_path(to)
18
8
 
19
- mkdirrec(todir)
9
+ File.mkpath(todir)
20
10
 
21
11
  Dir.chdir(from)
22
12
  Dir.new(".").each do |e|
@@ -26,7 +16,7 @@ class Dir
26
16
  else
27
17
  todir = File.dirname(File.expand_path(to))
28
18
 
29
- mkdirrec(todir)
19
+ File.mkpath(todir)
30
20
 
31
21
  File.copy(from, to)
32
22
  end
@@ -38,6 +28,8 @@ class Dir
38
28
  end
39
29
 
40
30
  def self.rm_rf(entry)
31
+ File.chmod(0755, entry)
32
+
41
33
  if File.ftype(entry) == "directory"
42
34
  pdir = Dir.pwd
43
35
 
@@ -47,16 +39,24 @@ class Dir
47
39
  end
48
40
  Dir.chdir(pdir)
49
41
 
50
- Dir.delete(entry)
42
+ begin
43
+ Dir.delete(entry)
44
+ rescue => e
45
+ $stderr.puts e.message
46
+ end
51
47
  else
52
- File.delete(entry)
48
+ begin
49
+ File.delete(entry)
50
+ rescue => e
51
+ $stderr.puts e.message
52
+ end
53
53
  end
54
54
  end
55
55
 
56
56
  def self.find(entry=nil, mask=nil)
57
57
  entry = "." if entry.nil?
58
58
 
59
- entry = entry.gsub!(/[\/\\]*$/, "") unless entry.nil?
59
+ entry = entry.gsub(/[\/\\]*$/, "") unless entry.nil?
60
60
 
61
61
  mask = /^#{mask}$/i if mask.kind_of?(String)
62
62
 
@@ -77,8 +77,8 @@ class Dir
77
77
  ensure
78
78
  Dir.chdir(pdir)
79
79
  end
80
- rescue Errno::EACCES => error
81
- puts error
80
+ rescue Errno::EACCES => e
81
+ $stderr.puts e.message
82
82
  end
83
83
  else
84
84
  res += [entry] if mask.nil? or entry =~ mask
@@ -99,7 +99,7 @@ class File
99
99
  # Rollback
100
100
 
101
101
  if File.file?(backupfile) and File.file?(controlfile)
102
- $stdout.puts "Restoring #{file}..."
102
+ $stderr.puts "Restoring #{file}..."
103
103
 
104
104
  File.copy(backupfile, file) # Rollback from phase 3
105
105
  end
@@ -139,7 +139,11 @@ class File
139
139
  end
140
140
 
141
141
  def self.touch(file)
142
- File.open(file, "a"){|f|}
142
+ if File.exists?(file)
143
+ File.utime(Time.now, File.mtime(file), file)
144
+ else
145
+ File.open(file, "a"){|f|}
146
+ end
143
147
  end
144
148
 
145
149
  def self.which(file)
data/ev/mime.rb ADDED
@@ -0,0 +1,328 @@
1
+ module EVMime
2
+ MimeType = {}
3
+
4
+ MimeType['123'] = 'application/vnd.lotus-1-2-3'
5
+ MimeType['3ds'] = 'image/x-3ds'
6
+ MimeType['a'] = 'application/x-unix-archive'
7
+ MimeType['abw'] = 'application/x-abiword'
8
+ MimeType['ac3'] = 'audio/ac3'
9
+ MimeType['afm'] = 'application/x-font-afm'
10
+ MimeType['ag'] = 'image/x-applix-graphic'
11
+ MimeType['aif'] = 'audio/x-aiff'
12
+ MimeType['aifc'] = 'audio/x-aiff'
13
+ MimeType['aiff'] = 'audio/x-aiff'
14
+ MimeType['ap'] = 'application/x-applix-presents'
15
+ MimeType['ape'] = 'application/x-ape'
16
+ MimeType['arj'] = 'application/x-arj'
17
+ MimeType['as'] = 'application/x-applix-spreadsheet'
18
+ MimeType['asc'] = 'text/plain'
19
+ MimeType['asf'] = 'video/x-ms-asf'
20
+ MimeType['asp'] = 'application/x-asp'
21
+ MimeType['asx'] = 'audio/x-ms-asx'
22
+ MimeType['au'] = 'audio/x-ulaw'
23
+ MimeType['avi'] = 'video/x-msvideo'
24
+ MimeType['aw'] = 'application/x-applix-word'
25
+ MimeType['bak'] = 'application/x-backup'
26
+ MimeType['bcpio'] = 'application/x-bcpio'
27
+ MimeType['bdf'] = 'application/x-font-bdf'
28
+ MimeType['bib'] = 'text/bib'
29
+ MimeType['bin'] = 'application/octet-stream'
30
+ MimeType['blend'] = 'application/x-blender'
31
+ MimeType['blender'] = 'application/x-blender'
32
+ MimeType['bmp'] = 'image/bmp'
33
+ MimeType['bz'] = 'application/x-bzip'
34
+ MimeType['bz2'] = 'application/x-bzip'
35
+ MimeType['c'] = 'text/x-c'
36
+ MimeType['c++'] = 'text/x-c++'
37
+ MimeType['cc'] = 'text/x-c++'
38
+ MimeType['cdf'] = 'application/x-netcdf'
39
+ MimeType['cdr'] = 'application/vnd.corel-draw'
40
+ MimeType['cgi'] = 'application/x-cgi'
41
+ MimeType['cgm'] = 'image/cgm'
42
+ MimeType['class'] = 'application/x-java-byte-code'
43
+ MimeType['cls'] = 'text/x-tex'
44
+ MimeType['cpio'] = 'application/x-cpio'
45
+ MimeType['cpp'] = 'text/x-c++'
46
+ MimeType['csh'] = 'text/x-csh'
47
+ MimeType['css'] = 'text/css'
48
+ MimeType['csv'] = 'text/x-comma-separated-values'
49
+ MimeType['dat'] = 'video/mpeg'
50
+ MimeType['dbf'] = 'application/x-xbase'
51
+ MimeType['dc'] = 'application/x-dc-rom'
52
+ MimeType['dcl'] = 'text/x-dcl'
53
+ MimeType['dcm'] = 'image/x-dcm'
54
+ MimeType['deb'] = 'application/x-deb'
55
+ MimeType['desktop'] = 'application/x-gnome-app-info'
56
+ MimeType['dia'] = 'application/x-dia-diagram'
57
+ MimeType['diff'] = 'text/x-patch'
58
+ MimeType['djv'] = 'image/vnd.djvu'
59
+ MimeType['djvu'] = 'image/vnd.djvu'
60
+ MimeType['doc'] = 'application/msword'
61
+ MimeType['dsl'] = 'text/x-dsl'
62
+ MimeType['dtd'] = 'text/x-dtd'
63
+ MimeType['dvi'] = 'application/x-dvi'
64
+ MimeType['dwg'] = 'image/vnd.dwg'
65
+ MimeType['dxf'] = 'image/vnd.dxf'
66
+ MimeType['el'] = 'text/x-emacs-lisp'
67
+ MimeType['emf'] = 'image/x-emf'
68
+ MimeType['eps'] = 'application/postscript'
69
+ MimeType['etheme'] = 'application/x-e-theme'
70
+ MimeType['etx'] = 'text/x-setext'
71
+ MimeType['exe'] = 'application/x-ms-dos-executable'
72
+ MimeType['ez'] = 'application/andrew-inset'
73
+ MimeType['f'] = 'text/x-fortran'
74
+ MimeType['fig'] = 'image/x-xfig'
75
+ MimeType['fits'] = 'image/x-fits'
76
+ MimeType['flac'] = 'audio/x-flac'
77
+ MimeType['flc'] = 'video/x-flc'
78
+ MimeType['fli'] = 'video/x-fli'
79
+ MimeType['gb'] = 'application/x-gameboy-rom'
80
+ MimeType['gchempaint'] = 'application/x-gchempaint'
81
+ MimeType['gcrd'] = 'text/x-vcard'
82
+ MimeType['gcrystal'] = 'application/x-gcrystal'
83
+ MimeType['gem'] = 'text/x-rubygem'
84
+ MimeType['gen'] = 'application/x-genesis-rom'
85
+ MimeType['gg'] = 'application/x-sms-rom'
86
+ MimeType['gif'] = 'image/gif'
87
+ MimeType['glade'] = 'application/x-glade'
88
+ MimeType['gnc'] = 'application/x-gnucash'
89
+ MimeType['gnucash'] = 'application/x-gnucash'
90
+ MimeType['gnumeric'] = 'application/x-gnumeric'
91
+ MimeType['gray'] = 'image/x-gray'
92
+ MimeType['gtar'] = 'application/x-gtar'
93
+ MimeType['gz'] = 'application/x-gzip'
94
+ MimeType['h'] = 'text/x-c-header'
95
+ MimeType['h++'] = 'text/x-c-header'
96
+ MimeType['hdf'] = 'application/x-hdf'
97
+ MimeType['hlls'] = 'text/x-hllapiscript'
98
+ MimeType['hpp'] = 'text/x-c-header'
99
+ MimeType['hs'] = 'text/x-haskell'
100
+ MimeType['htm'] = 'text/html'
101
+ MimeType['html'] = 'text/html'
102
+ MimeType['icb'] = 'image/x-icb'
103
+ MimeType['ico'] = 'image/x-ico'
104
+ MimeType['ics'] = 'text/calendar'
105
+ MimeType['idl'] = 'text/x-idl'
106
+ MimeType['ief'] = 'image/ief'
107
+ MimeType['iff'] = 'image/x-iff'
108
+ MimeType['ilbm'] = 'image/x-ilbm'
109
+ MimeType['iso'] = 'application/x-iso-image'
110
+ MimeType['it'] = 'audio/x-it'
111
+ MimeType['jar'] = 'application/x-java-archive'
112
+ MimeType['java'] = 'text/x-java'
113
+ MimeType['jpe'] = 'image/jpeg'
114
+ MimeType['jpeg'] = 'image/jpeg'
115
+ MimeType['jpg'] = 'image/jpeg'
116
+ MimeType['jpr'] = 'application/x-jbuilder-project'
117
+ MimeType['jpx'] = 'application/x-jbuilder-project'
118
+ MimeType['js'] = 'text/x-javascript'
119
+ MimeType['kdelnk'] = 'application/x-kde-app-info'
120
+ MimeType['kil'] = 'application/x-killustrator'
121
+ MimeType['kpr'] = 'application/x-kpresenter'
122
+ MimeType['ksp'] = 'application/x-kspread'
123
+ MimeType['kwd'] = 'application/x-kword'
124
+ MimeType['la'] = 'application/x-shared-library-la'
125
+ MimeType['lha'] = 'application/x-lha'
126
+ MimeType['lhs'] = 'text/x-literate-haskell'
127
+ MimeType['lhz'] = 'application/x-lhz'
128
+ MimeType['lo'] = 'application/x-object-file'
129
+ MimeType['ltx'] = 'text/x-tex'
130
+ MimeType['lwo'] = 'image/x-lwo'
131
+ MimeType['lwob'] = 'image/x-lwo'
132
+ MimeType['lws'] = 'image/x-lws'
133
+ MimeType['lyx'] = 'text/x-lyx'
134
+ MimeType['m'] = 'text/x-objc'
135
+ MimeType['m3u'] = 'audio/x-mpegurl'
136
+ MimeType['m4a'] = 'audio/x-m4a'
137
+ MimeType['man'] = 'text/x-troff-man'
138
+ MimeType['md'] = 'application/x-genesis-rom'
139
+ MimeType['me'] = 'text/x-troff-me'
140
+ MimeType['mgp'] = 'application/x-magicpoint'
141
+ MimeType['mid'] = 'audio/x-midi'
142
+ MimeType['midi'] = 'audio/x-midi'
143
+ MimeType['mif'] = 'application/x-mif'
144
+ MimeType['miff'] = 'image/x-miff'
145
+ MimeType['mm'] = 'text/x-troff-mm'
146
+ MimeType['mml'] = 'text/mathml'
147
+ MimeType['mod'] = 'audio/x-mod'
148
+ MimeType['mov'] = 'video/quicktime'
149
+ MimeType['movie'] = 'video/x-sgi-movie'
150
+ MimeType['mp1'] = 'audio/mpeg'
151
+ MimeType['mp2'] = 'video/mpeg'
152
+ MimeType['mp3'] = 'audio/mpeg'
153
+ MimeType['mpe'] = 'video/mpeg'
154
+ MimeType['mpeg'] = 'video/mpeg'
155
+ MimeType['mpg'] = 'video/mpeg'
156
+ MimeType['mrp'] = 'application/x-mrproject'
157
+ MimeType['mrproject'] = 'application/x-mrproject'
158
+ MimeType['ms'] = 'text/x-troff-ms'
159
+ MimeType['msx'] = 'application/x-msx-rom'
160
+ MimeType['n64'] = 'application/x-n64-rom'
161
+ MimeType['nc'] = 'application/x-netcdf'
162
+ MimeType['nes'] = 'application/x-nes-rom'
163
+ MimeType['nsv'] = 'video/x-nsv'
164
+ MimeType['o'] = 'application/x-object-file'
165
+ MimeType['oda'] = 'application/oda'
166
+ MimeType['ogg'] = 'application/ogg'
167
+ MimeType['oleo'] = 'application/x-oleo'
168
+ MimeType['p'] = 'text/x-pascal'
169
+ MimeType['palm'] = 'image/x-palm'
170
+ MimeType['pas'] = 'text/x-pascal'
171
+ MimeType['pascal'] = 'text/x-pascal'
172
+ MimeType['patch'] = 'text/x-patch'
173
+ MimeType['pbm'] = 'image/x-portable-bitmap'
174
+ MimeType['pcd'] = 'image/x-photo-cd'
175
+ MimeType['pcf'] = 'application/x-font-pcf'
176
+ MimeType['pct'] = 'image/x-pict'
177
+ MimeType['pcx'] = 'image/x-pcx'
178
+ MimeType['pdb'] = 'application/x-palm-database'
179
+ MimeType['pdf'] = 'application/pdf'
180
+ MimeType['perl'] = 'text/x-perl'
181
+ MimeType['pfa'] = 'application/x-font-type1'
182
+ MimeType['pfb'] = 'application/x-font-type1'
183
+ MimeType['pgm'] = 'image/x-portable-graymap'
184
+ MimeType['pgn'] = 'application/x-chess-pgn'
185
+ MimeType['pgp'] = 'application/pgp'
186
+ MimeType['php'] = 'application/x-php'
187
+ MimeType['php3'] = 'application/x-php'
188
+ MimeType['php4'] = 'application/x-php'
189
+ MimeType['pict'] = 'image/x-pict'
190
+ MimeType['pl'] = 'text/x-perl'
191
+ MimeType['pls'] = 'audio/x-scpls'
192
+ MimeType['pm'] = 'text/x-perl'
193
+ MimeType['png'] = 'image/png'
194
+ MimeType['pnm'] = 'image/x-portable-anymap'
195
+ MimeType['po'] = 'text/x-po'
196
+ MimeType['pp'] = 'text/x-pascal'
197
+ MimeType['ppm'] = 'image/x-portable-pixmap'
198
+ MimeType['pps'] = 'application/vnd.ms-powerpoint'
199
+ MimeType['ppt'] = 'application/vnd.ms-powerpoint'
200
+ MimeType['ps'] = 'application/postscript'
201
+ MimeType['psd'] = 'image/x-psd'
202
+ MimeType['psf'] = 'application/x-font-linux-psf'
203
+ MimeType['psid'] = 'audio/prs.sid'
204
+ MimeType['py'] = 'text/x-python'
205
+ MimeType['pyc'] = 'application/x-python-byte-code'
206
+ MimeType['qif'] = 'application/qif'
207
+ MimeType['qt'] = 'video/quicktime'
208
+ MimeType['ra'] = 'audio/x-real-audio'
209
+ MimeType['ram'] = 'audio/x-pn-realaudio'
210
+ MimeType['rar'] = 'application/x-rar'
211
+ MimeType['ras'] = 'image/x-cmu-raster'
212
+ MimeType['rb'] = 'text/x-ruby'
213
+ MimeType['rba'] = 'text/x-ruby'
214
+ MimeType['rbw'] = 'text/x-ruby'
215
+ MimeType['rej'] = 'application/x-reject'
216
+ MimeType['rgb'] = 'image/x-rgb'
217
+ MimeType['rm'] = 'audio/x-real-audio'
218
+ MimeType['roff'] = 'text/x-troff'
219
+ MimeType['rpm'] = 'application/x-rpm'
220
+ MimeType['rtf'] = 'application/rtf'
221
+ MimeType['rtx'] = 'text/richtext'
222
+ MimeType['ruby'] = 'text/x-ruby'
223
+ MimeType['rubyw'] = 'text/x-ruby'
224
+ MimeType['rv'] = 'audio/x-real-audio'
225
+ MimeType['s'] = 'text/x-asm'
226
+ MimeType['s3m'] = 'audio/x-s3m'
227
+ MimeType['scm'] = 'text/x-scheme'
228
+ MimeType['sda'] = 'application/vnd.stardivision.draw'
229
+ MimeType['sdc'] = 'application/vnd.stardivision.calc'
230
+ MimeType['sdd'] = 'application/vnd.stardivision.impress'
231
+ MimeType['sdp'] = 'application/vnd.stardivision.impress'
232
+ MimeType['sds'] = 'application/vnd.stardivision.chart'
233
+ MimeType['sdw'] = 'application/vnd.stardivision.writer'
234
+ MimeType['sgi'] = 'image/x-sgi'
235
+ MimeType['sgl'] = 'application/vnd.stardivision.writer'
236
+ MimeType['sgm'] = 'text/sgml'
237
+ MimeType['sgml'] = 'text/sgml'
238
+ MimeType['sh'] = 'text/x-sh'
239
+ MimeType['shar'] = 'application/x-shar'
240
+ MimeType['sid'] = 'audio/prs.sid'
241
+ MimeType['slk'] = 'text/spreadsheet'
242
+ MimeType['smd'] = 'application/vnd.stardivision.mail'
243
+ MimeType['smf'] = 'application/vnd.stardivision.math'
244
+ MimeType['smi'] = 'application/x-smil'
245
+ MimeType['smil'] = 'application/x-smil'
246
+ MimeType['sml'] = 'application/x-smil'
247
+ MimeType['sms'] = 'application/x-sms-rom'
248
+ MimeType['snd'] = 'audio/basic'
249
+ MimeType['so'] = 'application/x-shared-library'
250
+ MimeType['spd'] = 'application/x-font-speedo'
251
+ MimeType['sql'] = 'text/x-sql'
252
+ MimeType['src'] = 'application/x-wais-source'
253
+ MimeType['stc'] = 'application/vnd.sun.xml.calc.template'
254
+ MimeType['std'] = 'application/vnd.sun.xml.draw.template'
255
+ MimeType['sti'] = 'application/vnd.sun.xml.impress.template'
256
+ MimeType['stm'] = 'audio/x-stm'
257
+ MimeType['stw'] = 'application/vnd.sun.xml.writer.template'
258
+ MimeType['sty'] = 'text/x-tex'
259
+ MimeType['sun'] = 'image/x-sun-raster'
260
+ MimeType['sv4cpio'] = 'application/x-sv4cpio'
261
+ MimeType['sv4crc'] = 'application/x-sv4crc'
262
+ MimeType['svg'] = 'image/svg+xml'
263
+ MimeType['svgz'] = 'image/svg+xml'
264
+ MimeType['swf'] = 'application/x-shockwave-flash'
265
+ MimeType['sxc'] = 'application/vnd.sun.xml.calc'
266
+ MimeType['sxd'] = 'application/vnd.sun.xml.draw'
267
+ MimeType['sxg'] = 'application/vnd.sun.xml.writer.global'
268
+ MimeType['sxi'] = 'application/vnd.sun.xml.impress'
269
+ MimeType['sxm'] = 'application/vnd.sun.xml.math'
270
+ MimeType['sxw'] = 'application/vnd.sun.xml.writer'
271
+ MimeType['sylk'] = 'text/spreadsheet'
272
+ MimeType['t'] = 'text/x-troff'
273
+ MimeType['tar'] = 'application/x-tar'
274
+ MimeType['tcl'] = 'text/x-tcl'
275
+ MimeType['tex'] = 'text/x-tex'
276
+ MimeType['texi'] = 'text/x-texinfo'
277
+ MimeType['texinfo'] = 'text/x-texinfo'
278
+ MimeType['tga'] = 'image/x-tga'
279
+ MimeType['tgz'] = 'application/x-compressed-tar'
280
+ MimeType['theme'] = 'application/x-theme'
281
+ MimeType['tif'] = 'image/tiff'
282
+ MimeType['tiff'] = 'image/tiff'
283
+ MimeType['torrent'] = 'application/x-bittorrent'
284
+ MimeType['tr'] = 'text/x-troff'
285
+ MimeType['tsv'] = 'text/tab-separated-values'
286
+ MimeType['ttc'] = 'application/x-font-ttf'
287
+ MimeType['ttf'] = 'application/x-font-ttf'
288
+ MimeType['txt'] = 'text/plain'
289
+ MimeType['ustar'] = 'application/x-ustar'
290
+ MimeType['vcf'] = 'text/x-vcalendar'
291
+ MimeType['vcs'] = 'text/x-vcalendar'
292
+ MimeType['vi'] = 'text/x-vi'
293
+ MimeType['vim'] = 'text/x-vi'
294
+ MimeType['viv'] = 'video/vnd.vivo'
295
+ MimeType['vivo'] = 'video/vnd.vivo'
296
+ MimeType['vob'] = 'video/mpeg'
297
+ MimeType['voc'] = 'audio/x-voc'
298
+ MimeType['vor'] = 'application/vnd.stardivision.writer'
299
+ MimeType['wav'] = 'audio/x-wav'
300
+ MimeType['wax'] = 'audio/x-ms-asx'
301
+ MimeType['wk1'] = 'application/vnd.lotus-1-2-3'
302
+ MimeType['wk3'] = 'application/vnd.lotus-1-2-3'
303
+ MimeType['wk4'] = 'application/vnd.lotus-1-2-3'
304
+ MimeType['wks'] = 'application/vnd.lotus-1-2-3'
305
+ MimeType['wmf'] = 'image/x-wmf'
306
+ MimeType['wmv'] = 'video/x-ms-wmv'
307
+ MimeType['wrl'] = 'model/vrml'
308
+ MimeType['wvx'] = 'video/x-ms-wvx'
309
+ MimeType['xac'] = 'application/x-gnucash'
310
+ MimeType['xbel'] = 'application/xbel'
311
+ MimeType['xbm'] = 'image/x-xbitmap'
312
+ MimeType['xcf'] = 'image/x-xcf'
313
+ MimeType['xi'] = 'audio/x-xi'
314
+ MimeType['xla'] = 'application/vnd.ms-excel'
315
+ MimeType['xlc'] = 'application/vnd.ms-excel'
316
+ MimeType['xld'] = 'application/vnd.ms-excel'
317
+ MimeType['xls'] = 'application/vnd.ms-excel'
318
+ MimeType['xlt'] = 'application/vnd.ms-excel'
319
+ MimeType['xm'] = 'audio/x-xm'
320
+ MimeType['xml'] = 'text/xml'
321
+ MimeType['xpm'] = 'image/x-xpixmap'
322
+ MimeType['xwd'] = 'image/x-xwindowdump'
323
+ MimeType['y'] = 'text/x-yacc'
324
+ MimeType['yacc'] = 'text/x-yacc'
325
+ MimeType['z'] = 'application/x-compress'
326
+ MimeType['zip'] = 'application/zip'
327
+ MimeType['zoo'] = 'application/x-zoo'
328
+ end