tmdb_party 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README.rdoc +40 -0
- data/Rakefile +60 -0
- data/VERSION.yml +4 -0
- data/lib/tmdb_party/attributes.rb +53 -0
- data/lib/tmdb_party/category.rb +22 -0
- data/lib/tmdb_party/core_extensions.rb +18 -0
- data/lib/tmdb_party/image.rb +19 -0
- data/lib/tmdb_party/movie.rb +50 -0
- data/lib/tmdb_party/person.rb +22 -0
- data/lib/tmdb_party/video.rb +20 -0
- data/lib/tmdb_party.rb +49 -0
- data/test/fixtures/imdb_no_results.xml +8 -0
- data/test/fixtures/imdb_search.xml +26 -0
- data/test/fixtures/no_groups.xml +37 -0
- data/test/fixtures/rad.xml +26 -0
- data/test/fixtures/search.xml +104 -0
- data/test/fixtures/single_groups.xml +132 -0
- data/test/fixtures/single_result.xml +26 -0
- data/test/fixtures/transformers.xml +358 -0
- data/test/test_helper.rb +32 -0
- data/test/tmdb_party/test_tmdb_party.rb +126 -0
- data/tmdb_party.gemspec +73 -0
- metadata +111 -0
data/.document
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 John Duff
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
= tmdb_party
|
2
|
+
|
3
|
+
Simple ruby wrapper to themoviedb.org (http://api.themoviedb.org/2.0/docs/) using HTTParty
|
4
|
+
|
5
|
+
= usage:
|
6
|
+
sudo gem install jduff-tmdb_party
|
7
|
+
require 'tmdb_party'
|
8
|
+
|
9
|
+
= example:
|
10
|
+
|
11
|
+
@tmdb = TMDBParty::Base.new('key')
|
12
|
+
results = @tmdb.search('transformers')
|
13
|
+
|
14
|
+
results.length
|
15
|
+
# => 5
|
16
|
+
|
17
|
+
transformers = results.detect{|m| m.title == "Transformers"}
|
18
|
+
|
19
|
+
transformers.popularity
|
20
|
+
# => 31
|
21
|
+
transformers.score
|
22
|
+
# => 1.0
|
23
|
+
transformers.imdb
|
24
|
+
# => 'tt0418279'
|
25
|
+
|
26
|
+
# some attributes don't come back with the search result, they are lazily loaded on demand
|
27
|
+
transformers.homepage
|
28
|
+
# => "http://www.transformersmovie.com/"
|
29
|
+
transformers.trailer.url
|
30
|
+
# => "http://www.youtube.com/watch?v=eduwcuq1Exg"
|
31
|
+
|
32
|
+
transformers.categories.collect{|cat| cat.name}.include?("Adventure Film")
|
33
|
+
# => true
|
34
|
+
|
35
|
+
= what is themoviedb.org?
|
36
|
+
It's a movie database, kind of like IMDB except it's more of a community wiki. They also have an api that they're cool with people using. More on the api here: http://api.themoviedb.org/2.0/docs/
|
37
|
+
|
38
|
+
== Copyright
|
39
|
+
|
40
|
+
Copyright (c) 2009 John Duff. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "tmdb_party"
|
8
|
+
gem.summary = %Q{Simple ruby wrapper to themoviedb.org (http://api.themoviedb.org/2.0/docs/) using HTTParty}
|
9
|
+
gem.email = "duff.john@gmail.com"
|
10
|
+
gem.homepage = "http://github.com/jduff/tmdb_party"
|
11
|
+
gem.authors = ["John Duff", "Jon Maddox"]
|
12
|
+
gem.add_dependency('httparty', '>= 0.4.3')
|
13
|
+
|
14
|
+
gem.add_development_dependency('fakeweb')
|
15
|
+
gem.add_development_dependency('context')
|
16
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
|
+
end
|
18
|
+
Jeweler::GemcutterTasks.new
|
19
|
+
rescue LoadError
|
20
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
21
|
+
end
|
22
|
+
|
23
|
+
require 'rake/testtask'
|
24
|
+
Rake::TestTask.new(:test) do |test|
|
25
|
+
test.libs << 'lib' << 'test'
|
26
|
+
test.pattern = 'test/**/*_test.rb'
|
27
|
+
test.verbose = true
|
28
|
+
end
|
29
|
+
|
30
|
+
begin
|
31
|
+
require 'rcov/rcovtask'
|
32
|
+
Rcov::RcovTask.new do |test|
|
33
|
+
test.libs << 'test'
|
34
|
+
test.pattern = 'test/**/*_test.rb'
|
35
|
+
test.verbose = true
|
36
|
+
end
|
37
|
+
rescue LoadError
|
38
|
+
task :rcov do
|
39
|
+
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
task :default => :test
|
45
|
+
|
46
|
+
require 'rake/rdoctask'
|
47
|
+
Rake::RDocTask.new do |rdoc|
|
48
|
+
if File.exist?('VERSION.yml')
|
49
|
+
config = YAML.load(File.read('VERSION.yml'))
|
50
|
+
version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
|
51
|
+
else
|
52
|
+
version = ""
|
53
|
+
end
|
54
|
+
|
55
|
+
rdoc.rdoc_dir = 'rdoc'
|
56
|
+
rdoc.title = "tmdb_party #{version}"
|
57
|
+
rdoc.rdoc_files.include('README*')
|
58
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
59
|
+
end
|
60
|
+
|
data/VERSION.yml
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
module TMDBParty
|
2
|
+
module Attributes
|
3
|
+
# based on http://github.com/nullstyle/ruby-satisfaction
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.class_eval do
|
7
|
+
extend ClassMethods
|
8
|
+
include InstanceMethods
|
9
|
+
attr_reader :attributes
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
def attributes(*names)
|
15
|
+
options = names.extract_options!
|
16
|
+
|
17
|
+
names.each do |name|
|
18
|
+
attribute name, options unless name.blank?
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def attribute(name, options)
|
23
|
+
options.replace({:type => 'nil', :lazy=>false}.merge(options))
|
24
|
+
raise "Name can't be empty" if name.blank?
|
25
|
+
|
26
|
+
lazy_load = "self.#{options[:lazy]} unless self.loaded?" if options[:lazy]
|
27
|
+
class_eval <<-EOS
|
28
|
+
def #{name}
|
29
|
+
#{lazy_load}
|
30
|
+
@#{name} ||= decode_raw_attribute(@attributes['#{name}'], #{options[:type]}) if @attributes
|
31
|
+
end
|
32
|
+
EOS
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
module InstanceMethods
|
38
|
+
def attributes=(value)
|
39
|
+
@attributes = value
|
40
|
+
end
|
41
|
+
|
42
|
+
def loaded?
|
43
|
+
@loaded
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
def decode_raw_attribute(value, type)
|
48
|
+
return nil unless value
|
49
|
+
type.respond_to?(:parse) ? type.parse(value) : value
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module TMDBParty
|
2
|
+
class Category
|
3
|
+
include Attributes
|
4
|
+
attributes :name, :url
|
5
|
+
|
6
|
+
def initialize(values)
|
7
|
+
self.attributes = values
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.parse(data)
|
11
|
+
return unless data
|
12
|
+
data = data["category"]
|
13
|
+
if data.is_a?(Array)
|
14
|
+
data.collect do |category|
|
15
|
+
Category.new(category)
|
16
|
+
end
|
17
|
+
else
|
18
|
+
[Category.new(data)]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TMDBParty
|
2
|
+
class Image
|
3
|
+
attr_reader :url
|
4
|
+
|
5
|
+
def initialize(url)
|
6
|
+
@url = url
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.parse(data)
|
10
|
+
if data.is_a?(Array)
|
11
|
+
data.collect do |url|
|
12
|
+
Image.new(url)
|
13
|
+
end
|
14
|
+
else
|
15
|
+
Image.new(data)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module TMDBParty
|
2
|
+
class Movie
|
3
|
+
include Attributes
|
4
|
+
attr_reader :tmdb
|
5
|
+
|
6
|
+
attributes :title, :short_overview, :id, :score, :imdb, :type, :url, :popularity, :alternative_title
|
7
|
+
attributes :release, :type=>DateTime
|
8
|
+
attributes :id, :runtime, :type => Integer
|
9
|
+
attributes :popularity, :score, :type => Float
|
10
|
+
attributes :poster, :backdrop, :type => Image
|
11
|
+
|
12
|
+
attributes :homepage, :lazy => :get_info!
|
13
|
+
attributes :trailer, :lazy => :get_info!, :type=> Video
|
14
|
+
attributes :categories, :lazy => :get_info!, :type=> Category
|
15
|
+
attributes :people, :lazy => :get_info!, :type=> Person
|
16
|
+
|
17
|
+
def initialize(values, tmdb)
|
18
|
+
@tmdb = tmdb
|
19
|
+
self.attributes = values
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_info!
|
23
|
+
movie = tmdb.get_info(self.id)
|
24
|
+
@attributes.merge!(movie.attributes) if movie
|
25
|
+
@loaded = true
|
26
|
+
end
|
27
|
+
|
28
|
+
def directors
|
29
|
+
find_people('director')
|
30
|
+
end
|
31
|
+
|
32
|
+
def actors
|
33
|
+
find_people('actor')
|
34
|
+
end
|
35
|
+
|
36
|
+
def writers
|
37
|
+
find_people('writer')
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def find_people(type)
|
44
|
+
return [] unless people
|
45
|
+
people.select{|p| p.job == type}
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module TMDBParty
|
2
|
+
class Person
|
3
|
+
include Attributes
|
4
|
+
attributes :name, :url, :job
|
5
|
+
|
6
|
+
def initialize(values)
|
7
|
+
self.attributes = values
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.parse(data)
|
11
|
+
return unless data
|
12
|
+
data = data["person"]
|
13
|
+
if data.is_a?(Array)
|
14
|
+
data.collect do |person|
|
15
|
+
Person.new(person)
|
16
|
+
end
|
17
|
+
else
|
18
|
+
[Person.new(data)]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module TMDBParty
|
2
|
+
class Video
|
3
|
+
attr_reader :url
|
4
|
+
|
5
|
+
def initialize(url)
|
6
|
+
@url = url
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.parse(data)
|
10
|
+
return unless data
|
11
|
+
if data.is_a?(Array)
|
12
|
+
data.collect do |url|
|
13
|
+
Video.new(url)
|
14
|
+
end
|
15
|
+
else
|
16
|
+
Video.new(data)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/tmdb_party.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# gem 'httparty'
|
2
|
+
require 'httparty'
|
3
|
+
require 'tmdb_party/core_extensions'
|
4
|
+
require 'tmdb_party/attributes'
|
5
|
+
require 'tmdb_party/video'
|
6
|
+
require 'tmdb_party/category'
|
7
|
+
require 'tmdb_party/person'
|
8
|
+
require 'tmdb_party/image'
|
9
|
+
require 'tmdb_party/movie'
|
10
|
+
|
11
|
+
module TMDBParty
|
12
|
+
class Base
|
13
|
+
include HTTParty
|
14
|
+
base_uri 'http://api.themoviedb.org/2.0'
|
15
|
+
format :xml
|
16
|
+
|
17
|
+
def initialize(key)
|
18
|
+
self.class.default_params :api_key => key
|
19
|
+
end
|
20
|
+
|
21
|
+
def search(query)
|
22
|
+
data = self.class.get('/Movie.search', :query=>{:title=>query})
|
23
|
+
|
24
|
+
case data['results']['moviematches']['movie']
|
25
|
+
when Array
|
26
|
+
data['results']['moviematches']['movie'].collect { |movie| Movie.new(movie, self) }
|
27
|
+
when Hash
|
28
|
+
[Movie.new(data['results']['moviematches']['movie'], self)]
|
29
|
+
else
|
30
|
+
[]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def imdb_lookup(imdb_id)
|
35
|
+
data = self.class.get('/Movie.imdbLookup', :query=>{:imdb_id=>imdb_id})
|
36
|
+
case data['results']['moviematches']['movie']
|
37
|
+
when String
|
38
|
+
return nil
|
39
|
+
when Hash
|
40
|
+
Movie.new(data['results']['moviematches']['movie'], self)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def get_info(id)
|
45
|
+
data = self.class.get('/Movie.getInfo', :query=>{:id=>id})
|
46
|
+
Movie.new(data['results']['moviematches']['movie'], self)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results for="tt041827sdd9" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
|
3
|
+
<opensearch:Query searchTerms="tt041827sdd9"/>
|
4
|
+
<opensearch:totalResults>0</opensearch:totalResults>
|
5
|
+
<moviematches>
|
6
|
+
<movie>Your query didn't return any results.</movie>
|
7
|
+
</moviematches>
|
8
|
+
</results>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results for="tt0418279" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
|
3
|
+
<opensearch:Query searchTerms="tt0418279"/>
|
4
|
+
<opensearch:totalResults>1</opensearch:totalResults>
|
5
|
+
<moviematches>
|
6
|
+
<movie>
|
7
|
+
<score>1.0</score>
|
8
|
+
<popularity>52</popularity>
|
9
|
+
<title>Transformers</title>
|
10
|
+
<alternative_title>The Transformers</alternative_title>
|
11
|
+
<type>movie</type>
|
12
|
+
<id>1858</id>
|
13
|
+
<imdb>tt0418279</imdb>
|
14
|
+
<url>http://www.themoviedb.org/movie/1858</url>
|
15
|
+
<short_overview>The Earth is caught in the middle of an intergalactic war between two races of robots, the heroic Autobots and the evil Decepticons, which are able to change into a variety of objects, including cars, trucks, planes and other technological creations.</short_overview>
|
16
|
+
<release>2007-07-04</release>
|
17
|
+
<poster size="original">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab.jpg</poster>
|
18
|
+
<poster size="thumb">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_thumb.jpg</poster>
|
19
|
+
<poster size="mid">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_mid.jpg</poster>
|
20
|
+
<poster size="cover">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_cover.jpg</poster>
|
21
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/1394/tt0418279-1.jpg</backdrop>
|
22
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/1394/tt0418279-1_poster.jpg</backdrop>
|
23
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/1394/tt0418279-1_thumb.jpg</backdrop>
|
24
|
+
</movie>
|
25
|
+
</moviematches>
|
26
|
+
</results>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results for="13841" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
|
3
|
+
<opensearch:Query searchTerms="13841"/>
|
4
|
+
<opensearch:totalResults>1</opensearch:totalResults>
|
5
|
+
<moviematches>
|
6
|
+
<movie>
|
7
|
+
<score>0.472535759210587</score>
|
8
|
+
<popularity>2</popularity>
|
9
|
+
<title>Rad</title>
|
10
|
+
<alternative_title></alternative_title>
|
11
|
+
<type>movie</type>
|
12
|
+
<id>13841</id>
|
13
|
+
<imdb>tt0091817</imdb>
|
14
|
+
<url>http://www.themoviedb.org/movie/13841</url>
|
15
|
+
<short_overview>A BMX racer who lives in a small town with his mother and sister is faced with a tough decision, qualify for Helltrack or take his SAT's in order to attend college.</short_overview>
|
16
|
+
<rating>0.0</rating>
|
17
|
+
<release>1986-03-21</release>
|
18
|
+
<runtime>91</runtime>
|
19
|
+
<budget>0</budget>
|
20
|
+
<revenue>0</revenue>
|
21
|
+
<homepage></homepage>
|
22
|
+
<production_countries>
|
23
|
+
</production_countries>
|
24
|
+
<poster size="original">http://images.themoviedb.org/posters/7081/rad.jpg</poster>
|
25
|
+
<poster size="mid">http://images.themoviedb.org/posters/7081/rad_mid.jpg</poster>
|
26
|
+
<poster size="cover">http://images.themoviedb.org/posters/7081/rad_cover.jpg</poster>
|
27
|
+
<poster size="thumb">http://images.themoviedb.org/posters/7081/rad_thumb.jpg</poster>
|
28
|
+
<poster size="original">http://images.themoviedb.org/posters/14249/radderbg.jpg</poster>
|
29
|
+
<poster size="mid">http://images.themoviedb.org/posters/14249/radderbg_mid.jpg</poster>
|
30
|
+
<poster size="thumb">http://images.themoviedb.org/posters/14249/radderbg_thumb.jpg</poster>
|
31
|
+
<poster size="cover">http://images.themoviedb.org/posters/14249/radderbg_cover.jpg</poster>
|
32
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/17198/jimmy.jpg</backdrop>
|
33
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/17198/jimmy_poster.jpg</backdrop>
|
34
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/17198/jimmy_thumb.jpg</backdrop>
|
35
|
+
</movie>
|
36
|
+
</moviematches>
|
37
|
+
</results>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results for="rad" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
|
3
|
+
<opensearch:Query searchTerms="rad"/>
|
4
|
+
<opensearch:totalResults>1</opensearch:totalResults>
|
5
|
+
<moviematches>
|
6
|
+
<movie>
|
7
|
+
<score>1.0</score>
|
8
|
+
<popularity>2</popularity>
|
9
|
+
<title>Rad</title>
|
10
|
+
<alternative_title></alternative_title>
|
11
|
+
<type>movie</type>
|
12
|
+
<id>13841</id>
|
13
|
+
<imdb>tt0091817</imdb>
|
14
|
+
<url>http://www.themoviedb.org/movie/13841</url>
|
15
|
+
<short_overview>A BMX racer who lives in a small town with his mother and sister is faced with a tough decision, qualify for Helltrack or take his SAT's in order to attend college.</short_overview>
|
16
|
+
<release>1986-03-21</release>
|
17
|
+
<poster size="original">http://images.themoviedb.org/posters/7081/rad.jpg</poster>
|
18
|
+
<poster size="mid">http://images.themoviedb.org/posters/7081/rad_mid.jpg</poster>
|
19
|
+
<poster size="cover">http://images.themoviedb.org/posters/7081/rad_cover.jpg</poster>
|
20
|
+
<poster size="thumb">http://images.themoviedb.org/posters/7081/rad_thumb.jpg</poster>
|
21
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/17198/jimmy.jpg</backdrop>
|
22
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/17198/jimmy_poster.jpg</backdrop>
|
23
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/17198/jimmy_thumb.jpg</backdrop>
|
24
|
+
</movie>
|
25
|
+
</moviematches>
|
26
|
+
</results>
|
@@ -0,0 +1,104 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results for="transformers" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
|
3
|
+
<opensearch:Query searchTerms="transformers"/>
|
4
|
+
<opensearch:totalResults>5</opensearch:totalResults>
|
5
|
+
<moviematches>
|
6
|
+
<movie>
|
7
|
+
<score>1.0</score>
|
8
|
+
<popularity>31</popularity>
|
9
|
+
<title>Transformers</title>
|
10
|
+
<alternative_title>The Transformers</alternative_title>
|
11
|
+
<type>movie</type>
|
12
|
+
|
13
|
+
<id>1858</id>
|
14
|
+
<imdb>tt0418279</imdb>
|
15
|
+
<url>http://www.themoviedb.org/movie/1858</url>
|
16
|
+
<short_overview>The Earth is caught in the middle of an intergalactic war between two races of robots, the heroic Autobots and the evil Decepticons, which are able to change into a variety of objects, including cars, trucks, planes and other technological creations.</short_overview>
|
17
|
+
<release>2007-07-04</release>
|
18
|
+
<poster size="original">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab.jpg</poster>
|
19
|
+
<poster size="thumb">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_thumb.jpg</poster>
|
20
|
+
<poster size="mid">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_mid.jpg</poster>
|
21
|
+
<poster size="cover">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_cover.jpg</poster>
|
22
|
+
|
23
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/1394/tt0418279-1.jpg</backdrop>
|
24
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/1394/tt0418279-1_poster.jpg</backdrop>
|
25
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/1394/tt0418279-1_thumb.jpg</backdrop>
|
26
|
+
</movie>
|
27
|
+
<movie>
|
28
|
+
<score>0.120507517597236</score>
|
29
|
+
<popularity>5</popularity>
|
30
|
+
<title>Transformers: Revenge of the Fallen</title>
|
31
|
+
<alternative_title>Transformers 2</alternative_title>
|
32
|
+
|
33
|
+
<type>movie</type>
|
34
|
+
<id>8373</id>
|
35
|
+
<imdb>tt1055369</imdb>
|
36
|
+
<url>http://www.themoviedb.org/movie/8373</url>
|
37
|
+
<short_overview></short_overview>
|
38
|
+
<release>2009-06-24</release>
|
39
|
+
<poster size="original">http://images.themoviedb.org/posters/11433/Transformers_2_v1.jpg</poster>
|
40
|
+
<poster size="mid">http://images.themoviedb.org/posters/11433/Transformers_2_v1_mid.jpg</poster>
|
41
|
+
<poster size="thumb">http://images.themoviedb.org/posters/11433/Transformers_2_v1_thumb.jpg</poster>
|
42
|
+
|
43
|
+
<poster size="cover">http://images.themoviedb.org/posters/11433/Transformers_2_v1_cover.jpg</poster>
|
44
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/19763/Transformers_2_v1_1920x1080.jpg</backdrop>
|
45
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/19763/Transformers_2_v1_1920x1080_poster.jpg</backdrop>
|
46
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/19763/Transformers_2_v1_1920x1080_thumb.jpg</backdrop>
|
47
|
+
</movie>
|
48
|
+
<movie>
|
49
|
+
<score>0.0291530167991967</score>
|
50
|
+
<popularity>2</popularity>
|
51
|
+
<title>Transformers</title>
|
52
|
+
<alternative_title></alternative_title>
|
53
|
+
|
54
|
+
<type>movie_series</type>
|
55
|
+
<id>8650</id>
|
56
|
+
<imdb></imdb>
|
57
|
+
<url>http://www.themoviedb.org/movie/8650</url>
|
58
|
+
<short_overview>The Transformers series follows the continuing battle between the Autobots and the Decepticons and ultimately, the triumph of good over evil.</short_overview>
|
59
|
+
<release>2009-06-24</release>
|
60
|
+
<poster size="cover">http://images.themoviedb.org/posters//transformers_cover.JPG</poster>
|
61
|
+
<poster size="cover">http://images.themoviedb.org/posters/35390/transformers_cover_thumb.JPG</poster>
|
62
|
+
<poster size="mid">http://images.themoviedb.org/posters/35390/transformers_cover_mid.JPG</poster>
|
63
|
+
|
64
|
+
<poster size="cover">http://images.themoviedb.org/posters/35390/transformers_cover_cover.JPG</poster>
|
65
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/37808/transformers_bg.jpg</backdrop>
|
66
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/37808/transformers_bg_thumb.jpg</backdrop>
|
67
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/37808/transformers_bg_poster.jpg</backdrop>
|
68
|
+
</movie>
|
69
|
+
<movie>
|
70
|
+
<score>0.0146628580052701</score>
|
71
|
+
<popularity>2</popularity>
|
72
|
+
<title>The Transformers (TV series)</title>
|
73
|
+
<alternative_title></alternative_title>
|
74
|
+
|
75
|
+
<type>series</type>
|
76
|
+
<id>1856</id>
|
77
|
+
<imdb></imdb>
|
78
|
+
<url>http://www.themoviedb.org/movie/1856</url>
|
79
|
+
<short_overview>Transformers is the popular animated television series staring a cast of giant robots who can transform themselves into different creatures, objects, or other robots. The show was a huge success in the USA and Japan, and produced a popular Transformer toy line.</short_overview>
|
80
|
+
<release></release>
|
81
|
+
</movie>
|
82
|
+
<movie>
|
83
|
+
<score>0.0146628580052701</score>
|
84
|
+
<popularity>2</popularity>
|
85
|
+
<title>The Transformers: The Movie</title>
|
86
|
+
|
87
|
+
<alternative_title></alternative_title>
|
88
|
+
<type>movie</type>
|
89
|
+
<id>1857</id>
|
90
|
+
<imdb>tt0092106</imdb>
|
91
|
+
<url>http://www.themoviedb.org/movie/1857</url>
|
92
|
+
<short_overview>The Transformers: The Movie is the animated film from 1986 based on the popular television series of the same name. The television series and the film were both directed by Nelson Shin.</short_overview>
|
93
|
+
<release>1986-08-08</release>
|
94
|
+
<poster size="original">http://images.themoviedb.org/posters/16658/TF_TM.jpg</poster>
|
95
|
+
<poster size="mid">http://images.themoviedb.org/posters/16658/TF_TM_mid.jpg</poster>
|
96
|
+
|
97
|
+
<poster size="thumb">http://images.themoviedb.org/posters/16658/TF_TM_thumb.jpg</poster>
|
98
|
+
<poster size="cover">http://images.themoviedb.org/posters/16658/TF_TM_cover.jpg</poster>
|
99
|
+
<backdrop size="original">http://images.themoviedb.org/backdrops/584/tt0092106.jpg</backdrop>
|
100
|
+
<backdrop size="mid">http://images.themoviedb.org/backdrops/584/tt0092106_poster.jpg</backdrop>
|
101
|
+
<backdrop size="thumb">http://images.themoviedb.org/backdrops/584/tt0092106_thumb.jpg</backdrop>
|
102
|
+
</movie>
|
103
|
+
</moviematches>
|
104
|
+
</results>
|