rwdlanguage 0.01

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. data/Readme.txt +475 -0
  2. data/bin/rwdlanguage +19 -0
  3. data/code/01rwdcore/01rwdcore.rb +29 -0
  4. data/code/01rwdcore/02helptexthashbegin.rb +16 -0
  5. data/code/01rwdcore/03helptexthash.rb +21 -0
  6. data/code/01rwdcore/jumplinkcommand.rb +36 -0
  7. data/code/01rwdcore/openhelpwindow.rb +38 -0
  8. data/code/01rwdcore/returntomain.rb +10 -0
  9. data/code/01rwdcore/rundocuments.rb +10 -0
  10. data/code/01rwdcore/runeditconfiguration.rb +10 -0
  11. data/code/01rwdcore/runhelpabout.rb +15 -0
  12. data/code/01rwdcore/runopentinkerdocument.rb +7 -0
  13. data/code/01rwdcore/runtab.rb +15 -0
  14. data/code/01rwdcore/rwdtinkerversion.rb +22 -0
  15. data/code/01rwdcore/rwdwindowreturn.rb +9 -0
  16. data/code/01rwdcore/selectiontab.rb +11 -0
  17. data/code/01rwdcore/setuphelpaboutoptions.rb +15 -0
  18. data/code/01rwdcore/setuptinkerdocuments.rb +7 -0
  19. data/code/01rwdcore/test_cases.rb +158 -0
  20. data/code/01rwdcore/test_harness.rb +20 -0
  21. data/code/01rwdcore/uploadreturns.rb +65 -0
  22. data/code/dd0viewphoto/dd0viewphoto.rb +5 -0
  23. data/code/superant.com.language/0uninstallapplet.rb +22 -0
  24. data/code/superant.com.language/googlelang.rb +25 -0
  25. data/code/superant.com.language/helptexthashload.rb +22 -0
  26. data/code/superant.com.language/loadconfigurationrecord.rb +22 -0
  27. data/code/superant.com.language/loadconfigurationvariables.rb +14 -0
  28. data/code/superant.com.language/openhelpwindow.rb +24 -0
  29. data/code/superant.com.language/rubySteak.rb +40 -0
  30. data/code/superant.com.language/runappletwindow.rb +12 -0
  31. data/code/superant.com.language/runrwdshellwindow.rb +12 -0
  32. data/code/superant.com.language/runrwdwordsbackwindow.rb +10 -0
  33. data/code/superant.com.language/rwdtinkerversion.rb +10 -0
  34. data/code/superant.com.language/saveconfigurationrecord.rb +20 -0
  35. data/code/superant.com.language/test_cases.rb +20 -0
  36. data/code/superant.com.rwdtinkerbackwindow/changelocale.rb +84 -0
  37. data/code/superant.com.rwdtinkerbackwindow/diagnostictab.rb +19 -0
  38. data/code/superant.com.rwdtinkerbackwindow/initiateapplets.rb +169 -0
  39. data/code/superant.com.rwdtinkerbackwindow/installgemapplet.rb +38 -0
  40. data/code/superant.com.rwdtinkerbackwindow/installremotegem.rb +20 -0
  41. data/code/superant.com.rwdtinkerbackwindow/listgemdirs.rb +12 -0
  42. data/code/superant.com.rwdtinkerbackwindow/listgemzips.rb +55 -0
  43. data/code/superant.com.rwdtinkerbackwindow/listinstalledfiles.rb +14 -0
  44. data/code/superant.com.rwdtinkerbackwindow/listzips.rb +37 -0
  45. data/code/superant.com.rwdtinkerbackwindow/loadconfigurationrecord.rb +24 -0
  46. data/code/superant.com.rwdtinkerbackwindow/loadconfigurationvariables.rb +14 -0
  47. data/code/superant.com.rwdtinkerbackwindow/network.rb +87 -0
  48. data/code/superant.com.rwdtinkerbackwindow/openappletname.rb +19 -0
  49. data/code/superant.com.rwdtinkerbackwindow/openhelpwindowtinkerwin2.rb +40 -0
  50. data/code/superant.com.rwdtinkerbackwindow/remotegemlist.rb +24 -0
  51. data/code/superant.com.rwdtinkerbackwindow/removeapplet.rb +46 -0
  52. data/code/superant.com.rwdtinkerbackwindow/removeappletvariables.rb +52 -0
  53. data/code/superant.com.rwdtinkerbackwindow/runremoteinstall.rb +11 -0
  54. data/code/superant.com.rwdtinkerbackwindow/runrwdtinkerbackwindow.rb +15 -0
  55. data/code/superant.com.rwdtinkerbackwindow/rwdtinkerwin2version.rb +13 -0
  56. data/code/superant.com.rwdtinkerbackwindow/saveconfigurationrecord.rb +19 -0
  57. data/code/superant.com.rwdtinkerbackwindow/showlocaleoptions.rb +9 -0
  58. data/code/superant.com.rwdtinkerbackwindow/viewappletcontents.rb +23 -0
  59. data/code/superant.com.rwdtinkerbackwindow/viewgemappletcontents.rb +24 -0
  60. data/code/superant.com.rwdtinkerbackwindow/viewlogfile.rb +16 -0
  61. data/code/superant.com.thesaurus/clearhttpview3.rb +9 -0
  62. data/code/superant.com.thesaurus/listwordlookup.rb +37 -0
  63. data/code/superant.com.thesaurus/runappletwindow.rb +12 -0
  64. data/code/superant.com.words/dictlookup.rb +20 -0
  65. data/code/superant.com.words/runrwdwordsbackwindow.rb +10 -0
  66. data/code/superant.com.words/rwdtinkerversion.rb +10 -0
  67. data/code/zz0applicationend/zz0end.rb +5 -0
  68. data/configuration/rwdtinker.dist +15 -0
  69. data/configuration/rwdwlanguage.dist +21 -0
  70. data/configuration/tinkerwin2variables.dist +23 -0
  71. data/gui/00coreguibegin/applicationguitop.rwd +9 -0
  72. data/gui/frontwindow0/cc0openphoto.rwd +22 -0
  73. data/gui/frontwindowselections/00selectiontabbegin.rwd +11 -0
  74. data/gui/frontwindowselections/jumplinkcommands.rwd +15 -0
  75. data/gui/frontwindowselections/wwselectionend.rwd +3 -0
  76. data/gui/frontwindowtdocuments/00documentbegin.rwd +6 -0
  77. data/gui/frontwindowtdocuments/tinkerdocuments.rwd +14 -0
  78. data/gui/frontwindowtdocuments/zzdocumentend.rwd +8 -0
  79. data/gui/helpaboutbegin/zzzrwdlasttab.rwd +6 -0
  80. data/gui/helpaboutbegin/zzzzhelpscreenstart.rwd +3 -0
  81. data/gui/helpaboutbegin/zzzzzzhelpabouttab.rwd +15 -0
  82. data/gui/helpaboutzend/helpscreenend.rwd +3 -0
  83. data/gui/helpaboutzend/zhelpscreenstart2.rwd +3 -0
  84. data/gui/helpaboutzend/zzzzhelpabout2.rwd +15 -0
  85. data/gui/helpaboutzend/zzzzhelpscreen2end.rwd +3 -0
  86. data/gui/tinkerbackwindows/superant.com.language/1appname.rwd +4 -0
  87. data/gui/tinkerbackwindows/superant.com.language/22google.rwd +38 -0
  88. data/gui/tinkerbackwindows/superant.com.language/44germany.rwd +19 -0
  89. data/gui/tinkerbackwindows/superant.com.language/67viewconfiguration.rwd +27 -0
  90. data/gui/tinkerbackwindows/superant.com.language/77jumplinkcommands.rwd +17 -0
  91. data/gui/tinkerbackwindows/superant.com.language/z9end.rwd +6 -0
  92. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/1appname.rwd +5 -0
  93. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/40rwdlistzips.rwd +41 -0
  94. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/45installremotezip.rwd +44 -0
  95. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/50rwdlistapplets.rwd +44 -0
  96. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/60editconfiguration.rwd +30 -0
  97. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/70rwddiagnostics.rwd +29 -0
  98. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/75rwdlogfile.rwd +20 -0
  99. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/80localechanger.rwd +17 -0
  100. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/81jumplinkcommands.rwd +17 -0
  101. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/9backend.rwd +6 -0
  102. data/gui/tinkerbackwindows/superant.com.tinkerhelpwindow/1appname.rwd +31 -0
  103. data/gui/tinkerbackwindows/superant.com.tinkerhelpwindow/9end.rwd +4 -0
  104. data/gui/tinkerbackwindows/superant.com.versionwindow/1appname.rwd +19 -0
  105. data/gui/tinkerbackwindows/superant.com.versionwindow/helpaboutwindow.rwd +17 -0
  106. data/gui/tinkerbackwindows/superant.com.words/1appname.rwd +4 -0
  107. data/gui/tinkerbackwindows/superant.com.words/1dictionary.rwd +19 -0
  108. data/gui/tinkerbackwindows/superant.com.words/4thesaurus.rwd +36 -0
  109. data/gui/tinkerbackwindows/superant.com.words/77jumplinkcommands.rwd +17 -0
  110. data/gui/tinkerbackwindows/superant.com.words/z9end.rwd +6 -0
  111. data/gui/zzcoreguiend/yy9rwdend.rwd +4 -0
  112. data/init.rb +179 -0
  113. data/installed/rwdwlanguage.inf +24 -0
  114. data/installed/temp.rb +1 -0
  115. data/lang/en/rwdcore/en.po +197 -0
  116. data/lang/en/rwdlanguage/en.po +32 -0
  117. data/lang/es/rwdcore/es.po +184 -0
  118. data/lang/es/rwdlanguage/en.po +32 -0
  119. data/lang/fr/rwdcore/fr.po +169 -0
  120. data/lang/fr/rwdlanguage/en.po +32 -0
  121. data/lang/hi/rwdcore/hi.po +173 -0
  122. data/lang/hi/rwdlanguage/en.po +32 -0
  123. data/lang/ja/rwdcore/ja.po +171 -0
  124. data/lang/ja/rwdlanguage/en.po +32 -0
  125. data/lang/nl/rwdcore/nl.po +169 -0
  126. data/lang/nl/rwdlanguage/en.po +32 -0
  127. data/lib/dict.rb +438 -0
  128. data/lib/g_translate.rb +43 -0
  129. data/lib/g_translate/client.rb +84 -0
  130. data/lib/g_translate/translator.rb +57 -0
  131. data/lib/ger-eng.txt +111283 -0
  132. data/lib/oothesaurus.rb +76 -0
  133. data/lib/rconftool.rb +387 -0
  134. data/lib/rwd/browser.rb +123 -0
  135. data/lib/rwd/ftools.rb +174 -0
  136. data/lib/rwd/mime.rb +328 -0
  137. data/lib/rwd/net.rb +877 -0
  138. data/lib/rwd/ruby.rb +889 -0
  139. data/lib/rwd/rwd.rb +1425 -0
  140. data/lib/rwd/sgml.rb +236 -0
  141. data/lib/rwd/thread.rb +63 -0
  142. data/lib/rwd/tree.rb +371 -0
  143. data/lib/rwd/xml.rb +101 -0
  144. data/lib/rwdthemes/default.rwd +317 -0
  145. data/lib/rwdthemes/pda.rwd +72 -0
  146. data/lib/rwdthemes/windowslike.rwd +171 -0
  147. data/lib/rwdtinker/rwdcodedir.rb +56 -0
  148. data/lib/rwdtinker/rwdguidir.rb +57 -0
  149. data/lib/rwdtinker/rwdlangdir.rb +60 -0
  150. data/lib/rwdtinker/rwdtinkertools.rb +25 -0
  151. data/lib/zip/ioextras.rb +155 -0
  152. data/lib/zip/stdrubyext.rb +111 -0
  153. data/lib/zip/tempfile_bugfixed.rb +195 -0
  154. data/lib/zip/zip.rb +1847 -0
  155. data/lib/zip/zipfilesystem.rb +609 -0
  156. data/lib/zip/ziprequire.rb +90 -0
  157. data/rwd_files/HowTo_Language.txt +179 -0
  158. data/rwd_files/HowTo_Tinker.txt +515 -0
  159. data/rwd_files/HowTo_TinkerWin2.txt +202 -0
  160. data/rwd_files/Readme.txt +57 -0
  161. data/rwd_files/RubyWebDialogs.html +6 -0
  162. data/rwd_files/Tinkerhelptexthash.txt +84 -0
  163. data/rwd_files/favicon.ico +0 -0
  164. data/rwd_files/log/rwdtinker.log +726 -0
  165. data/rwd_files/rdoc-style.css +175 -0
  166. data/rwd_files/rwdapplications.html +76 -0
  167. data/rwd_files/rwdlanguagehelpfiles.txt +34 -0
  168. data/rwd_files/tinker.png +0 -0
  169. data/rwdconfig.dist +24 -0
  170. data/rwdlanguage.rb +1 -0
  171. data/tests/RubyGauge.rb +179 -0
  172. data/tests/checkdepends.sh +4 -0
  173. data/tests/cleancnf.sh +6 -0
  174. data/tests/makedist-rwdwlanguage.rb +56 -0
  175. data/tests/makedist.rb +66 -0
  176. data/tests/rdep.rb +354 -0
  177. data/tests/totranslate.lang +93 -0
  178. data/zips/rwdwcalc-0.63.zip +0 -0
  179. data/zips/rwdwfoldeditor-0.08.zip +0 -0
  180. data/zips/rwdwhypernote-0.16.zip +0 -0
  181. data/zips/rwdwlanguage-0.01.zip +0 -0
  182. data/zips/rwdwmovies-0.98.zip +0 -0
  183. data/zips/rwdwruby-1.08.zip +0 -0
  184. data/zips/temp.rb +1 -0
  185. data/zips/tinkerbellw-0.04.zip +0 -0
  186. data/zips/wrubyslippers-1.08.zip +0 -0
  187. metadata +246 -0
@@ -0,0 +1,123 @@
1
+ require "lib/rwd/ruby"
2
+ require "lib/rwd/net"
3
+
4
+ begin
5
+ require "win32ole"
6
+ require "win32/registry"
7
+ rescue LoadError
8
+ $".push "win32ole.so"
9
+ $".push "win32/registry.rb"
10
+ end
11
+
12
+ def windowsbrowser
13
+ $stderr.puts "Looking for default browser..."
14
+
15
+ filetype = "htmlfile"
16
+ application = nil
17
+
18
+ begin
19
+ Win32::Registry::HKEY_CLASSES_ROOT.open(".html") do |reg|
20
+ filetype = reg[""]
21
+ end
22
+
23
+ Win32::Registry::HKEY_CLASSES_ROOT.open(filetype + "\\shell\\open\\command") do |reg|
24
+ application = reg[""]
25
+ end
26
+ rescue NameError
27
+ $stderr.puts "Only available for Windows and Cygwin."
28
+ end
29
+
30
+ application
31
+ end
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
+
46
+ def linuxbrowser
47
+ application = ""
48
+
49
+ application = `which galeon 2> /dev/null`.chomp if application.empty?
50
+ application = `which mozilla 2> /dev/null`.chomp if application.empty?
51
+ application = `which firefox 2> /dev/null`.chomp if application.empty?
52
+ application = `which opera 2> /dev/null`.chomp if application.empty?
53
+ application = `which konqueror 2> /dev/null`.chomp if application.empty?
54
+ application = `which htmlview 2> /dev/null`.chomp if application.empty?
55
+ application = nil if application.empty?
56
+
57
+ application
58
+ end
59
+
60
+ def defaultbrowser
61
+ res = nil
62
+ res = windowsbrowser if windows?
63
+ res = cygwinbrowser if cygwin?
64
+ res = linuxbrowser if linux?
65
+ res
66
+ end
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
+
74
+ def showinbrowser(html, browser=defaultbrowser)
75
+ port, io = TCPServer.freeport(7701, 7709)
76
+
77
+ unless browser.nil?
78
+ Thread.new do
79
+ begin
80
+ Thread.pass
81
+
82
+ showurlinbrowser("http://localhost:#{port}/", browser)
83
+ rescue
84
+ end
85
+ end
86
+ end
87
+
88
+ HTTPServer.serve([port, io]) do |req, resp|
89
+ resp << html
90
+
91
+ resp.stop
92
+ end
93
+ end
94
+
95
+ def tab2html(tab)
96
+ res = ""
97
+
98
+ tab = tab.to_html(false)
99
+
100
+ res << "<html>\n"
101
+ res << "<body>\n"
102
+ res << "<table align='center' border='1' cellspacing='0' cellpadding='3'>\n"
103
+ res << "<tbody>\n"
104
+
105
+ tab.split(/\r*\n/).each do |line|
106
+ res << "<tr>\n"
107
+
108
+ line.split(/\t/, -1).each do |veld|
109
+ veld = "&nbsp;" if veld.compress.empty?
110
+
111
+ res << "<td>%s</td>\n" % veld
112
+ end
113
+
114
+ res << "</tr>\n"
115
+ end
116
+
117
+ res << "</tbody>\n"
118
+ res << "</table>\n"
119
+ res << "</body>\n"
120
+ res << "</html>\n"
121
+
122
+ res
123
+ end
data/lib/rwd/ftools.rb ADDED
@@ -0,0 +1,174 @@
1
+ require "ftools"
2
+
3
+ class Dir
4
+ def self.copy(from, to)
5
+ if File.directory?(from)
6
+ pdir = Dir.pwd
7
+ todir = File.expand_path(to)
8
+
9
+ File.mkpath(todir)
10
+
11
+ Dir.chdir(from)
12
+ Dir.new(".").each do |e|
13
+ Dir.copy(e, todir+"/"+e) if not [".", ".."].include?(e)
14
+ end
15
+ Dir.chdir(pdir)
16
+ else
17
+ todir = File.dirname(File.expand_path(to))
18
+
19
+ File.mkpath(todir)
20
+
21
+ File.copy(from, to)
22
+ end
23
+ end
24
+
25
+ def self.move(from, to)
26
+ Dir.copy(from, to)
27
+ Dir.rm_rf(from)
28
+ end
29
+
30
+ def self.rm_rf(entry)
31
+ File.chmod(0755, entry)
32
+
33
+ if File.ftype(entry) == "directory"
34
+ pdir = Dir.pwd
35
+
36
+ Dir.chdir(entry)
37
+ Dir.new(".").each do |e|
38
+ Dir.rm_rf(e) if not [".", ".."].include?(e)
39
+ end
40
+ Dir.chdir(pdir)
41
+
42
+ begin
43
+ Dir.delete(entry)
44
+ rescue => e
45
+ $stderr.puts e.message
46
+ end
47
+ else
48
+ begin
49
+ File.delete(entry)
50
+ rescue => e
51
+ $stderr.puts e.message
52
+ end
53
+ end
54
+ end
55
+
56
+ def self.find(entry=nil, mask=nil)
57
+ entry = "." if entry.nil?
58
+
59
+ entry = entry.gsub(/[\/\\]*$/, "") unless entry.nil?
60
+
61
+ mask = /^#{mask}$/i if mask.kind_of?(String)
62
+
63
+ res = []
64
+
65
+ if File.directory?(entry)
66
+ pdir = Dir.pwd
67
+
68
+ res += ["%s/" % entry] if mask.nil? or entry =~ mask
69
+
70
+ begin
71
+ Dir.chdir(entry)
72
+
73
+ begin
74
+ Dir.new(".").each do |e|
75
+ res += Dir.find(e, mask).collect{|e| entry+"/"+e} unless [".", ".."].include?(e)
76
+ end
77
+ ensure
78
+ Dir.chdir(pdir)
79
+ end
80
+ rescue Errno::EACCES => e
81
+ $stderr.puts e.message
82
+ end
83
+ else
84
+ res += [entry] if mask.nil? or entry =~ mask
85
+ end
86
+
87
+ res
88
+ end
89
+ end
90
+
91
+ class File
92
+ def self.rollbackup(file, mode=nil)
93
+ backupfile = file + ".RB.BACKUP"
94
+ controlfile = file + ".RB.CONTROL"
95
+ res = nil
96
+
97
+ File.touch(file) unless File.file?(file)
98
+
99
+ # Rollback
100
+
101
+ if File.file?(backupfile) and File.file?(controlfile)
102
+ $stderr.puts "Restoring #{file}..."
103
+
104
+ File.copy(backupfile, file) # Rollback from phase 3
105
+ end
106
+
107
+ # Reset
108
+
109
+ File.delete(backupfile) if File.file?(backupfile) # Reset from phase 2 or 3
110
+ File.delete(controlfile) if File.file?(controlfile) # Reset from phase 3 or 4
111
+
112
+ # Backup
113
+
114
+ File.copy(file, backupfile) # Enter phase 2
115
+ File.touch(controlfile) # Enter phase 3
116
+
117
+ # The real thing
118
+
119
+ if block_given?
120
+ if mode.nil?
121
+ res = yield
122
+ else
123
+ File.open(file, mode) do |f|
124
+ res = yield(f)
125
+ end
126
+ end
127
+ end
128
+
129
+ # Cleanup
130
+
131
+ File.delete(backupfile) # Enter phase 4
132
+ File.delete(controlfile) # Enter phase 5
133
+
134
+ # Return, like File.open
135
+
136
+ res = File.open(file, (mode or "r")) unless block_given?
137
+
138
+ res
139
+ end
140
+
141
+ def self.touch(file)
142
+ if File.exists?(file)
143
+ File.utime(Time.now, File.mtime(file), file)
144
+ else
145
+ File.open(file, "a"){|f|}
146
+ end
147
+ end
148
+
149
+ def self.which(file)
150
+ res = nil
151
+
152
+ if windows?
153
+ file = file.gsub(/\.exe$/i, "") + ".exe"
154
+ sep = ";"
155
+ else
156
+ sep = ":"
157
+ end
158
+
159
+ catch :stop do
160
+ ENV["PATH"].split(/#{sep}/).reverse.each do |d|
161
+ if File.directory?(d)
162
+ Dir.new(d).each do |e|
163
+ if e.downcase == file.downcase
164
+ res = File.expand_path(e, d)
165
+ throw :stop
166
+ end
167
+ end
168
+ end
169
+ end
170
+ end
171
+
172
+ res
173
+ end
174
+ end
data/lib/rwd/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