jduff-tmdb_party 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/VERSION.yml +2 -2
- data/lib/tmdb_party.rb +8 -1
- data/test/fixtures/imdb_no_results.xml +8 -0
- data/test/fixtures/imdb_search.xml +26 -0
- data/test/test_helper.rb +1 -1
- data/test/tmdb_party/test_tmdb_party.rb +34 -0
- data/tmdb_party.gemspec +65 -0
- metadata +11 -5
data/.document
ADDED
data/VERSION.yml
CHANGED
data/lib/tmdb_party.rb
CHANGED
@@ -24,7 +24,14 @@ module TMDBParty
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
def imdb_lookup(
|
27
|
+
def imdb_lookup(imdb_id)
|
28
|
+
data = self.class.get('/Movie.imdbLookup', :query=>{:imdb_id=>imdb_id})
|
29
|
+
case data['results']['moviematches']['movie']
|
30
|
+
when String
|
31
|
+
return nil
|
32
|
+
when Hash
|
33
|
+
Movie.new(data['results']['moviematches']['movie'], self)
|
34
|
+
end
|
28
35
|
end
|
29
36
|
|
30
37
|
def get_info(id)
|
@@ -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>
|
data/test/test_helper.rb
CHANGED
@@ -21,7 +21,7 @@ def tmdb_url(url)
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def stub_get(url, filename, status=nil)
|
24
|
-
options = {:
|
24
|
+
options = {:body => fixture_file(filename)}
|
25
25
|
options.merge!({:status => status}) unless status.nil?
|
26
26
|
|
27
27
|
FakeWeb.register_uri(:get, tmdb_url(url), options)
|
@@ -38,4 +38,38 @@ class TestTmdbParty < Test::Unit::TestCase
|
|
38
38
|
category = transformers.categories.detect{|cat| cat.name == "Adventure Film"}
|
39
39
|
assert_equal "http://www.themoviedb.org/encyclopedia/category/12", category.url
|
40
40
|
end
|
41
|
+
|
42
|
+
|
43
|
+
test "finding transformers via imdb id" do
|
44
|
+
stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279', 'imdb_search.xml')
|
45
|
+
stub_get('/Movie.getInfo?api_key=key&id=1858', 'transformers.xml')
|
46
|
+
|
47
|
+
result = @tmdb.imdb_lookup('tt0418279')
|
48
|
+
|
49
|
+
# check that the attributes are populated
|
50
|
+
assert_equal 52.0, result.popularity
|
51
|
+
assert_equal 1.0, result.score
|
52
|
+
assert_equal 1858, result.id
|
53
|
+
assert_equal 'tt0418279', result.imdb
|
54
|
+
assert_equal Date.new(2007, 7, 4), result.release
|
55
|
+
assert result.poster.first.is_a?(TMDBParty::Image)
|
56
|
+
assert result.backdrop.first.is_a?(TMDBParty::Image)
|
57
|
+
|
58
|
+
# how about some that are loaded lazily
|
59
|
+
assert_equal "http://www.transformersmovie.com/", result.homepage
|
60
|
+
assert_equal "http://www.youtube.com/watch?v=eduwcuq1Exg", result.trailer.url
|
61
|
+
|
62
|
+
assert_equal 9, result.categories.length
|
63
|
+
|
64
|
+
category = result.categories.detect{|cat| cat.name == "Adventure Film"}
|
65
|
+
assert_equal "http://www.themoviedb.org/encyclopedia/category/12", category.url
|
66
|
+
end
|
67
|
+
|
68
|
+
test "NOT finding transformers via imdb id" do
|
69
|
+
stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279dd', 'imdb_no_results.xml')
|
70
|
+
result = @tmdb.imdb_lookup('tt0418279dd')
|
71
|
+
puts result.inspect
|
72
|
+
assert_nil result
|
73
|
+
end
|
74
|
+
|
41
75
|
end
|
data/tmdb_party.gemspec
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{tmdb_party}
|
5
|
+
s.version = "0.1.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["John Duff"]
|
9
|
+
s.date = %q{2009-08-21}
|
10
|
+
s.email = %q{duff.john@gmail.com}
|
11
|
+
s.extra_rdoc_files = [
|
12
|
+
"LICENSE",
|
13
|
+
"README.rdoc"
|
14
|
+
]
|
15
|
+
s.files = [
|
16
|
+
".document",
|
17
|
+
".gitignore",
|
18
|
+
"LICENSE",
|
19
|
+
"README.rdoc",
|
20
|
+
"Rakefile",
|
21
|
+
"VERSION.yml",
|
22
|
+
"lib/tmdb_party.rb",
|
23
|
+
"lib/tmdb_party/attributes.rb",
|
24
|
+
"lib/tmdb_party/category.rb",
|
25
|
+
"lib/tmdb_party/core_extensions.rb",
|
26
|
+
"lib/tmdb_party/image.rb",
|
27
|
+
"lib/tmdb_party/movie.rb",
|
28
|
+
"lib/tmdb_party/video.rb",
|
29
|
+
"test/fixtures/imdb_no_results.xml",
|
30
|
+
"test/fixtures/imdb_search.xml",
|
31
|
+
"test/fixtures/search.xml",
|
32
|
+
"test/fixtures/transformers.xml",
|
33
|
+
"test/test_helper.rb",
|
34
|
+
"test/tmdb_party/test_tmdb_party.rb",
|
35
|
+
"tmdb_party.gemspec"
|
36
|
+
]
|
37
|
+
s.homepage = %q{http://github.com/jduff/tmdb_party}
|
38
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
39
|
+
s.require_paths = ["lib"]
|
40
|
+
s.rubygems_version = %q{1.3.3}
|
41
|
+
s.summary = %q{TODO}
|
42
|
+
s.test_files = [
|
43
|
+
"test/test_helper.rb",
|
44
|
+
"test/tmdb_party/test_tmdb_party.rb"
|
45
|
+
]
|
46
|
+
|
47
|
+
if s.respond_to? :specification_version then
|
48
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
49
|
+
s.specification_version = 3
|
50
|
+
|
51
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
52
|
+
s.add_runtime_dependency(%q<httparty>, [">= 0.4.3"])
|
53
|
+
s.add_development_dependency(%q<fakeweb>, [">= 0"])
|
54
|
+
s.add_development_dependency(%q<context>, [">= 0"])
|
55
|
+
else
|
56
|
+
s.add_dependency(%q<httparty>, [">= 0.4.3"])
|
57
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
58
|
+
s.add_dependency(%q<context>, [">= 0"])
|
59
|
+
end
|
60
|
+
else
|
61
|
+
s.add_dependency(%q<httparty>, [">= 0.4.3"])
|
62
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
63
|
+
s.add_dependency(%q<context>, [">= 0"])
|
64
|
+
end
|
65
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jduff-tmdb_party
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Duff
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-08-21 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -52,6 +52,8 @@ extra_rdoc_files:
|
|
52
52
|
- LICENSE
|
53
53
|
- README.rdoc
|
54
54
|
files:
|
55
|
+
- .document
|
56
|
+
- .gitignore
|
55
57
|
- LICENSE
|
56
58
|
- README.rdoc
|
57
59
|
- Rakefile
|
@@ -63,12 +65,16 @@ files:
|
|
63
65
|
- lib/tmdb_party/image.rb
|
64
66
|
- lib/tmdb_party/movie.rb
|
65
67
|
- lib/tmdb_party/video.rb
|
68
|
+
- test/fixtures/imdb_no_results.xml
|
69
|
+
- test/fixtures/imdb_search.xml
|
66
70
|
- test/fixtures/search.xml
|
67
71
|
- test/fixtures/transformers.xml
|
68
72
|
- test/test_helper.rb
|
69
73
|
- test/tmdb_party/test_tmdb_party.rb
|
70
|
-
|
74
|
+
- tmdb_party.gemspec
|
75
|
+
has_rdoc: false
|
71
76
|
homepage: http://github.com/jduff/tmdb_party
|
77
|
+
licenses:
|
72
78
|
post_install_message:
|
73
79
|
rdoc_options:
|
74
80
|
- --charset=UTF-8
|
@@ -89,9 +95,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
95
|
requirements: []
|
90
96
|
|
91
97
|
rubyforge_project:
|
92
|
-
rubygems_version: 1.
|
98
|
+
rubygems_version: 1.3.5
|
93
99
|
signing_key:
|
94
|
-
specification_version:
|
100
|
+
specification_version: 3
|
95
101
|
summary: TODO
|
96
102
|
test_files:
|
97
103
|
- test/test_helper.rb
|