aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-01-18 09:58:48 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-01-18 09:58:48 +0000
commit652f1ef02fdf75e8e971971707b3d5861d06b8be (patch)
tree9b779e4e4361735079398e056438e4d7be5b60e8 /railties
parent53088c4c7f49c0574d0cb6466b4dc9c0b161a4d9 (diff)
downloadrails-652f1ef02fdf75e8e971971707b3d5861d06b8be.tar.gz
rails-652f1ef02fdf75e8e971971707b3d5861d06b8be.tar.bz2
rails-652f1ef02fdf75e8e971971707b3d5861d06b8be.zip
Added 5-second timeout to WordNet alternatives on creating reserved-word models #501 [Marcel Molina]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@455 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG2
-rwxr-xr-xrailties/bin/generate14
2 files changed, 11 insertions, 5 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 490eb004db..993d4a6db3 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Added 5-second timeout to WordNet alternatives on creating reserved-word models #501 [Marcel Molina]
+
* Fixed binding of caller #496 [Alexey]
diff --git a/railties/bin/generate b/railties/bin/generate
index 55c55724b1..42698f8be7 100755
--- a/railties/bin/generate
+++ b/railties/bin/generate
@@ -6,14 +6,18 @@ ARGV.shift unless ARGV.empty? or not ['--help', '-h'].include?(ARGV[0])
def find_synonyms(word)
require 'open-uri'
+ require 'timeout'
+
uri = "http://wordnet.princeton.edu/cgi-bin/webwn2.0?stage=2" +
"&word=%s&posnumber=1&searchtypenumber=2&senses=&showglosses=1"
- open(uri % word) do |stream|
- data = stream.read.gsub("&nbsp;", " ").gsub("<BR>", "")
- data.scan(/^Sense \d+\n.+?\n\n/m)
+ timeout(5) do
+ open(uri % word) do |stream|
+ data = stream.read.gsub("&nbsp;", " ").gsub("<BR>", "")
+ data.scan(/^Sense \d+\n.+?\n\n/m)
+ end
end
-rescue Exception
+rescue Timeout::Error, Exception
return nil
end
@@ -66,4 +70,4 @@ end_usage
#{$0} login
end_usage
exit 0
-end \ No newline at end of file
+end