#!/usr/bin/env ruby
# encoding: UTF-8

require 'net/http' 
require 'uri'
require 'public_suffix_list'
require 'public_suffix'
require 'fileutils'
require 'mechanize'
require 'nokogiri'
require 'watir-webdriver'
require 'selenium/webdriver'

module VideoDescription
  class ViewDesc
 
    def initialize
      make_agent    
    end

    def find_site(url)
      uri = URI.parse(url)
      domain = PublicSuffix.parse(uri.host)    
      return domain.sld
    end
    
    def get_youtube_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//*[@id="eow-description"]')      
      return views.to_s.strip # sortie en html, supprimer les tags? 
    end

    def get_dailymotion_description(url) #ok
      page = @agent.get url
      views = page.at('meta[@property="og:description"]')[:content]
      return views
    end

    def get_izlesene_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//p[@id="videoDesc"]/text()')
      return views.to_s.strip
    end
    
    def get_trilulilu_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//html/body/div[5]/div[3]/div/div/div/div[3]/div/div/div/div/div[2]/p/span/text()')
      return views.to_s.strip
    end
    
    def get_clipfish_description(url) #ok
      page = @agent.get url
      details = page.parser.xpath('//*[@id="description-head"]/text()')
      details2 = page.parser.xpath('//*[@id="additional-description"]/text()')
      views = details.to_s.strip << details2.to_s.strip
      return views
    end
    
    def get_metacafe_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//html/body/div/div[6]/div[5]/div/div[3]/p/text()') 
      return views.to_s.strip
    end    

    def get_myspace_description(url) #ok  
      page = @agent.get url
      views = page.at('meta[@property="og:description"]')[:content]
      return views
    end    

    def get_photobucket_description(url) #ok 
      page = @agent.get url
      views = page.at('meta[@property="og:description"]')[:content]
      return views
    end
    
    def get_daleplay_description(url) #ko no available vid
      page = @agent.get url
      views = page.parser.xpath('//*[@id="video_views_countv2"]/b/text()')
      return views.to_s.strip
    end

    def get_vxv_description(url) #ok  
      page = @agent.get url
      views = page.parser.xpath('//*[@id="description-full"]/text()')
      return views.to_s.strip
    end    

    def get_rutube_description(url) #ok 
      page = @agent.get url
      views = page.at('meta[@property="og:description"]')[:content]
      return views
    end
    
    def get_smotri_description(url) #ok 
      page = @agent.get url
      views = page.parser.xpath('//html/body/div[6]/div/div/div[2]/div[5]/div/div/div[2]/div/div/div[5]/span/text()')
      return views.to_s.strip
    end 
           
    def get_miwim_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//div[@id="small-rightbox-content"]/text()')
      return views[6].to_s.strip
    end 

    def get_wat_description(url) #ok
      page = @agent.get url
      views = page.at('meta[@itemprop="description"]')[:content]
      return views
    end 
    
    def get_viddler_description(url) #ok 
      page = @agent.get url
      views = page.at('meta[@property="og:description"]')[:content]
      return views.to_s.strip
    end     

    def get_veoh_description(url) #ok
      page = @agent.get url
      views = page.at('meta[@name="og:description"]')[:content]
      return views.to_s.strip
    end              
    
    def get_myvideo_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//span[@itemprop="description"]/text()')
      #views = page.parser.xpath('//html/body/div[6]/div[3]/div[6]/div[2]/div/div[5]/div[4]/div[3]/div[5]/div[3]/div/div[5]/text()')
      return views.to_s.strip
    end

    def get_kewego_description(url) #ok
      page = @agent.get url
      views = page.parser.xpath('//html/body/div/div[4]/div[2]/div/div/div[2]/div[3]/div/p/text()')
      return views.to_s.strip
    end                       
       
    
private
   def make_agent
      @agent = Mechanize.new do |a|
        a.user_agent_alias = 'Mac Safari'
        a.max_history = 1
        a.open_timeout = 15
        a.read_timeout = 5
        a.keep_alive = false
      end
    end      
    
  end
end

    


