lib/Zeta/plugins/gif.rb in zetabot-2.0.8 vs lib/Zeta/plugins/gif.rb in zetabot-2.0.9
- old
+ new
@@ -31,28 +31,34 @@
end
private
def search(query)
- url = URI.encode "http://www.gifbin.com/search/#{query}/"
- doc = Nokogiri::HTML( open(url) )
+ parser = URI::Parser.new
+ url = parser.escape "http://www.gifbin.com/search/#{query}/"
+
+ doc = Nokogiri::HTML( RestClient.get(url).body )
e = doc.css('.thumbs li').length
return "No Results Found" if e == 0
result = doc.css('.thumbs li')[rand(e)].css('a img').attribute('src').text.gsub(/tn_/, '')
"http://www.gifbin.com#{result}"
end
def gifbin
- url = URI.encode 'http://www.gifbin.com/random'
- doc = Nokogiri.HTML(open url)
+ parser = URI::Parser.new
+
+ url = parser.escape 'http://www.gifbin.com/random'
+ doc = Nokogiri.HTML(RestClient.get(url).body)
doc.css('div#gifcontainer a img').attribute('src').text
end
def imgur
# Cache results for 1 hour
if @imgurray.empty? || @last_update >= (Time.now + 3600)
- url = URI.encode('http://reddit.com/r/gifs.json')
- doc = JSON.load(open(url))
+ parser = URI::Parser.new
+
+ url = parser.escape('http://reddit.com/r/gifs.json')
+ doc = JSON.load(RestClient.get(url).body)
doc['data']['children'].each_with_index do |post, index|
if doc['data']['children'][index]['data']['url'].to_s =~ /imgur/
@imgurray << doc['data']['children'][index]['data']['url'].to_s
end