Current directory :
Root directory

Tree directory :
darktatka@njs.netlab.cz
  Filter :
  Language :  
 
require 'net/http'
require 'cgi'
require 'iconv'
 
module IdleBota
  class Lamer < IdleBota::Plugin
    def all_lejmr(info)
      dotaz = nil
      if info[:params].empty?
        dotaz = "/quotes/random"
      elsif info[:params].first =~ /\d+/
        dotaz = "/quotes/show/#{info[:params].first}"
      else
        dotaz = "/search/?q=#{info[:params].join(' ')}"
      end
      Net::HTTP.start('lamer.cz', 80) do |http|
        resp, body = http.get(dotaz)
        if body =~ /<div\s*id="quotes">(.*?)<\/p>/m
          quote = $1
          quote.gsub!(/\s+/, " ")
          quote.gsub!(/<br\s*\/?>/i, "\n")
          quote.gsub!(/<.*?>/, "")
          quote.sub!(/\+\s*\(.*?\)\s*-\s*/, "")
          quote = CGI::unescapeHTML(quote)
          quote.strip!
 
          response(info, quote)
        end
      end
    end
 
    def all_bash(info)
      dotaz = nil
      if info[:params].empty?
        dotaz = "random"
      elsif info[:params].first =~ /\d+/
        dotaz = info[:params].first
      else
        dotaz = "search=#{info[:params].join(' ')}"
      end                                                                       
      Net::HTTP.start('bash.org', 80) do |http|
        resp, body = http.get("/?#{dotaz}")
 
        if body =~ /<p\s*class="quote">(.*?)(<\/td>|<p\s*class="quote">)/m
          quote = $1
          quote.gsub!(/\s+/, " ")
          quote.gsub!(/<br\s*\/?>/i, "\n")
          quote.gsub!(/<.*?>/, "")
          quote.sub!(/\[X\]/, "")
          quote.sub!(/\+.*?-/, "")
        elsif body =~ /<font\s*class="bodytext">(.*?)<\/font>/
          quote = $1
        end
        quote = CGI::unescapeHTML(quote)
        quote.gsub!(/&nbsp;/, " ")        
        quote.strip!
        quote = Iconv.new('utf-8', 'iso-8859-1').iconv(quote)
 
        puts "BashLOG: #{dotaz}, #{quote}"
        $>.flush
        response(info, quote)
      end
    end
  end
end
 
# vim: ts=2 sw=2 foldmethod=marker et
 
VIP: No | Used: 13M/101M | 0.047 sec / GZIP-2