Sha256: d13b3324a2838955638f3e69a1fd6291cdb33c2bec90c1fa0c04c513ee92ad2a
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
require 'imdb' require 'imdb_party' module UnifiedDB module Backend class IMDB < Base def find_by_id(id) movie = handler.find_movie_by_id(id) @result = Result::ID.new( :id => movie.imdb_id, :title => movie.title, :overview => movie.plot, :release_date => movie.release_date, :genres => movie.genres, :rating => movie.rating, :runtime => movie.runtime.to_i, :actors => format_actors(movie.actors), :directors => format_directors(movie.directors), :writers => format_writers(movie.writers), :posters => Array(movie.poster_url) ) rescue raise ApiError, 'not found' end def find_by_title(title) # movies = handler.find_by_title(title) movies = Imdb::Search.new(title).movies movies.each do |movie| id = "tt#{movie.id}" title1, year, title2 = movie.title.match(/(.*) \(([0-9]{4})\)(.*)/)[1..3] rescue next @result << Result::Title.new( :id => id, :title => [title1.to_s.strip, title2.to_s.strip].join(" ").strip, :year => year) end result end private def service; 'imdb'; end def handler @handler ||= ImdbParty::Imdb.new(:anonymize => true) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
unified_db-0.2.2 | lib/unified_db/backend/imdb.rb |
unified_db-0.2.1 | lib/unified_db/backend/imdb.rb |
unified_db-0.2.0 | lib/unified_db/backend/imdb.rb |