jduff-tmdb_party 0.0.2 → 0.1.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 ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
- :minor: 0
4
- :patch: 2
3
+ :minor: 1
4
+ :patch: 0
data/lib/tmdb_party.rb CHANGED
@@ -24,7 +24,14 @@ module TMDBParty
24
24
  end
25
25
  end
26
26
 
27
- def imdb_lookup(id)
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 = {:string => fixture_file(filename)}
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
@@ -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.2
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-05-24 00:00:00 -07:00
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
- has_rdoc: true
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.2.0
98
+ rubygems_version: 1.3.5
93
99
  signing_key:
94
- specification_version: 2
100
+ specification_version: 3
95
101
  summary: TODO
96
102
  test_files:
97
103
  - test/test_helper.rb