unified_db 0.1.0 → 0.1.1
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/.gitignore +1 -0
- data/.travis.yml +6 -0
- data/README.md +1 -3
- data/lib/unified_db.rb +0 -2
- data/lib/unified_db/backend/tvdb.rb +4 -1
- data/lib/unified_db/version.rb +1 -1
- data/spec/support/do_sort.rb +5 -0
- data/spec/unified_db/backend/imdb_spec.rb +6 -6
- data/spec/unified_db/backend/tvdb_spec.rb +8 -8
- metadata +13 -11
- data/lib/ext/crack.rb +0 -10
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# Unified Movie Database
|
1
|
+
# Unified Movie Database [](http://travis-ci.org/imanel/UnifiedDB)
|
2
2
|
|
3
3
|
This is project for unifying multiple movie database. Currently it support only IMDB and TVDB, but TMDB will be done shortly.
|
4
|
-
|
5
|
-
To see it in action please go to [demo site](http://unified-db.heroku.com)
|
data/lib/unified_db.rb
CHANGED
@@ -6,6 +6,8 @@ module UnifiedDB
|
|
6
6
|
|
7
7
|
def find_by_id(id)
|
8
8
|
movie = handler.get_series_by_id(id)
|
9
|
+
raise if movie.nil?
|
10
|
+
|
9
11
|
@result = Result::ID.new(
|
10
12
|
:id => movie.id,
|
11
13
|
:title => movie.name,
|
@@ -43,7 +45,8 @@ module UnifiedDB
|
|
43
45
|
end
|
44
46
|
|
45
47
|
def format_posters(posters)
|
46
|
-
posters.select{|poster| poster.banner_type
|
48
|
+
list = posters.select { |poster| ['season', 'poster'].include? poster.banner_type }
|
49
|
+
list.sort { |a,b| b.banner_type <=> a.banner_type }.collect(&:url)
|
47
50
|
end
|
48
51
|
|
49
52
|
end
|
data/lib/unified_db/version.rb
CHANGED
@@ -6,7 +6,7 @@ describe UnifiedDB::Backend::IMDB do
|
|
6
6
|
it "should return valid find by title" do
|
7
7
|
result = subject.find(:title => 'Dark Knight')
|
8
8
|
result.class.should eql(Hash)
|
9
|
-
result.keys.
|
9
|
+
do_sort(result.keys).should eql([:result, :service, :status])
|
10
10
|
result[:status].should eql('success')
|
11
11
|
result[:service].should eql('imdb')
|
12
12
|
result[:result].class.should eql(Array)
|
@@ -22,7 +22,7 @@ describe UnifiedDB::Backend::IMDB do
|
|
22
22
|
decoded = Yajl::Parser.new.parse encoded
|
23
23
|
|
24
24
|
decoded.class.should eql(Hash)
|
25
|
-
decoded.keys.
|
25
|
+
do_sort(decoded.keys).should eql(['result', 'service', 'status'])
|
26
26
|
decoded['status'].should eql('success')
|
27
27
|
decoded['service'].should eql('imdb')
|
28
28
|
decoded['result'].class.should eql(Array)
|
@@ -38,7 +38,7 @@ describe UnifiedDB::Backend::IMDB do
|
|
38
38
|
it "should return empty array if invalid find by title specified" do
|
39
39
|
result = subject.find(:title => "qwertyuiopasdfghjkllzxcvbnm")
|
40
40
|
result.class.should eql(Hash)
|
41
|
-
result.keys.
|
41
|
+
do_sort(result.keys).should eql([:result, :service, :status])
|
42
42
|
result[:status].should eql('success')
|
43
43
|
result[:service].should eql('imdb')
|
44
44
|
result[:result].class.should eql(Array)
|
@@ -49,7 +49,7 @@ describe UnifiedDB::Backend::IMDB do
|
|
49
49
|
it "should return valid find by id" do
|
50
50
|
result = subject.find(:id => 'tt0468569')
|
51
51
|
result.class.should eql(Hash)
|
52
|
-
result.keys.
|
52
|
+
do_sort(result.keys).should eql([:result, :service, :status])
|
53
53
|
result[:status].should eql('success')
|
54
54
|
result[:service].should eql('imdb')
|
55
55
|
|
@@ -59,7 +59,7 @@ describe UnifiedDB::Backend::IMDB do
|
|
59
59
|
result[:result].overview.class.should eql(String)
|
60
60
|
result[:result].overview.length.should be > 20
|
61
61
|
result[:result].release_date.class.should eql(String)
|
62
|
-
result[:result].genres.should eql(["Action", "Crime", "Thriller"])
|
62
|
+
result[:result].genres.should eql(["Action", "Crime", "Drama", "Thriller"])
|
63
63
|
result[:result].rating.class.should eql(Float)
|
64
64
|
result[:result].rating.should be > 4
|
65
65
|
result[:result].rating.should be < 10
|
@@ -75,7 +75,7 @@ describe UnifiedDB::Backend::IMDB do
|
|
75
75
|
it "should return error if id was not found" do
|
76
76
|
result = subject.find(:id => 'tt046856910')
|
77
77
|
result.class.should eql(Hash)
|
78
|
-
result.keys.
|
78
|
+
do_sort(result.keys).should eql([:reason, :status])
|
79
79
|
result[:status].should eql('error')
|
80
80
|
result[:reason].should eql('not found')
|
81
81
|
end
|
@@ -4,13 +4,13 @@ describe UnifiedDB::Backend::TVDB do
|
|
4
4
|
subject { described_class.new }
|
5
5
|
|
6
6
|
it "should return valid find by title" do
|
7
|
-
result = subject.find(:title => 'StarGate')
|
7
|
+
result = subject.find(:title => 'StarGate SG-1')
|
8
8
|
result.class.should eql(Hash)
|
9
|
-
result.keys.
|
9
|
+
do_sort(result.keys).should eql([:result, :service, :status])
|
10
10
|
result[:status].should eql('success')
|
11
11
|
result[:service].should eql('tvdb')
|
12
12
|
result[:result].class.should eql(Array)
|
13
|
-
result[:result].size.should
|
13
|
+
result[:result].size.should eql 1
|
14
14
|
|
15
15
|
first_result = result[:result].first
|
16
16
|
first_result.class.should eql(UnifiedDB::Result::Title)
|
@@ -22,11 +22,11 @@ describe UnifiedDB::Backend::TVDB do
|
|
22
22
|
decoded = Yajl::Parser.new.parse encoded
|
23
23
|
|
24
24
|
decoded.class.should eql(Hash)
|
25
|
-
decoded.keys.
|
25
|
+
do_sort(decoded.keys).should eql(['result', 'service', 'status'])
|
26
26
|
decoded['status'].should eql('success')
|
27
27
|
decoded['service'].should eql('tvdb')
|
28
28
|
decoded['result'].class.should eql(Array)
|
29
|
-
decoded['result'].size.should
|
29
|
+
decoded['result'].size.should eql 1
|
30
30
|
|
31
31
|
first_result = decoded['result'].first
|
32
32
|
first_result.class.should eql(Hash)
|
@@ -38,7 +38,7 @@ describe UnifiedDB::Backend::TVDB do
|
|
38
38
|
it "should return empty array if invalid find by title specified" do
|
39
39
|
result = subject.find(:title => "qwertyuiopasdfghjkllzxcvbnm")
|
40
40
|
result.class.should eql(Hash)
|
41
|
-
result.keys.
|
41
|
+
do_sort(result.keys).should eql([:result, :service, :status])
|
42
42
|
result[:status].should eql('success')
|
43
43
|
result[:service].should eql('tvdb')
|
44
44
|
result[:result].class.should eql(Array)
|
@@ -49,7 +49,7 @@ describe UnifiedDB::Backend::TVDB do
|
|
49
49
|
it "should return valid find by id" do
|
50
50
|
result = subject.find(:id => '72449')
|
51
51
|
result.class.should eql(Hash)
|
52
|
-
result.keys.
|
52
|
+
do_sort(result.keys).should eql([:result, :service, :status])
|
53
53
|
result[:status].should eql('success')
|
54
54
|
result[:service].should eql('tvdb')
|
55
55
|
|
@@ -75,7 +75,7 @@ describe UnifiedDB::Backend::TVDB do
|
|
75
75
|
it "should return error if id was not found" do
|
76
76
|
result = subject.find(:id => '72449123')
|
77
77
|
result.class.should eql(Hash)
|
78
|
-
result.keys.
|
78
|
+
do_sort(result.keys).should eql([:reason, :status])
|
79
79
|
result[:status].should eql('error')
|
80
80
|
result[:reason].should eql('not found')
|
81
81
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unified_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-10-16 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yajl-ruby
|
17
|
-
requirement: &
|
17
|
+
requirement: &70329097056220 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70329097056220
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: imdb_party
|
28
|
-
requirement: &
|
28
|
+
requirement: &70329097055680 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.6.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70329097055680
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: tvdb_party
|
39
|
-
requirement: &
|
39
|
+
requirement: &70329097055120 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 0.6.0
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70329097055120
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rspec
|
50
|
-
requirement: &
|
50
|
+
requirement: &70329097054580 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: '2.0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70329097054580
|
59
59
|
description: Scrapper for multiple Movie Databases
|
60
60
|
email:
|
61
61
|
- bernard.potocki@imanel.org
|
@@ -64,10 +64,10 @@ extensions: []
|
|
64
64
|
extra_rdoc_files: []
|
65
65
|
files:
|
66
66
|
- .gitignore
|
67
|
+
- .travis.yml
|
67
68
|
- Gemfile
|
68
69
|
- README.md
|
69
70
|
- Rakefile
|
70
|
-
- lib/ext/crack.rb
|
71
71
|
- lib/unified_db.rb
|
72
72
|
- lib/unified_db/api_error.rb
|
73
73
|
- lib/unified_db/backend.rb
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/unified_db/result/title.rb
|
81
81
|
- lib/unified_db/version.rb
|
82
82
|
- spec/spec_helper.rb
|
83
|
+
- spec/support/do_sort.rb
|
83
84
|
- spec/unified_db/backend/imdb_spec.rb
|
84
85
|
- spec/unified_db/backend/tvdb_spec.rb
|
85
86
|
- unified_db.gemspec
|
@@ -110,5 +111,6 @@ specification_version: 3
|
|
110
111
|
summary: Scrapper for multiple Movie Databases
|
111
112
|
test_files:
|
112
113
|
- spec/spec_helper.rb
|
114
|
+
- spec/support/do_sort.rb
|
113
115
|
- spec/unified_db/backend/imdb_spec.rb
|
114
116
|
- spec/unified_db/backend/tvdb_spec.rb
|