class Ruboty::Handlers::Crawl

Public Instance Methods

crawl(message) click to toggle source
# File lib/ruboty/handlers/ymcrawl.rb, line 41
def crawl(message)
  puts "crawl start in handlers"
  url = (message[:url] == nil) ? "-- please set url --" : message[:url]
  begin
    crawl = CrawlManager.instance.get_crawl
    uploader = crawl.get_uploader

    # upload先がlocal以外かつアクセストークンが取得されていない場合は、取得先URLを示して終了
    if not uploader.access_token? and uploader.get_name != "local"
      message.reply( get_access_token_message( uploader.get_access_token_url ) )
      return nil
    end

    message.reply("rubot is crawling from #{url}")
    zip_paths = crawl.start([url])
    message.reply("get zip file => #{zip_paths}")
  rescue URI::InvalidURIError => ex
    puts ex
    message.reply("URL is invalid. please retry.")
  rescue => ex
    puts "error raise in Crawl.crawl"
    puts ex
    message.reply("Sorry, error occurred.")
    message.reply("Please feedback this error to niboshiporipori@gmail.com")
    message.reply(ex)
  end
end
get_access_token_message(url) click to toggle source
# File lib/ruboty/handlers/ymcrawl.rb, line 34
def get_access_token_message(url)
  return "You don't have access token.
  1. Go to: #{url}
  2. Click \"Allow\" (you might have to log in first).
  3. reply to bot as \"@bot dropbox:auth (auth_code) \""
end