class Videoinfo::Videos::Movie
Public Instance Methods
populate_result!()
click to toggle source
# File lib/videoinfo/videos/movie.rb, line 9 def populate_result! result.mediainfo = read_mediainfo movie = search_imdb.first if movie result.imdb_id = movie.id result.title = movie.title.sub(/\(\d{4}\)/, '').strip result.plot_summary = movie.plot_summary result.release_date = movie.release_date result.rating = movie.rating result.genres = movie.genres result.director = movie.director.first result.writers = movie.writers.compact result.runtime = movie.length result.wiki_url = search_wiki result.trailer_url = search_youtube end result.screenshot_urls = capture_screenshots.map { |ss| Videoinfo.upload_screenshot(ss) } result end
result()
click to toggle source
# File lib/videoinfo/videos/movie.rb, line 5 def result @result ||= Results::MovieResult.new end
search_imdb()
click to toggle source
# File lib/videoinfo/videos/movie.rb, line 32 def search_imdb movies = [] begin movies = Imdb::Search.new(name, :movie).movies rescue => e raise Error, "could not search IMDB. #{e.message}" end return movies unless Videoinfo.interactive? movies.each do |m| STDERR.print "Is your movie \"#{m.title}\" (tt#{m.id})? [Y/n] " return [m] if STDIN.gets.strip !~ /^(n|no)$/i end [] end
search_wiki()
click to toggle source
# File lib/videoinfo/videos/movie.rb, line 50 def search_wiki Videoinfo.google("site:wikipedia.org #{result.title || name} film").first end
search_youtube()
click to toggle source
# File lib/videoinfo/videos/movie.rb, line 54 def search_youtube Videoinfo.google("site:youtube.com #{result.title || name} trailer").first end