movieDB 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +2 -0
- data/lib/movieDB.rb +3 -7
- data/lib/movieDB/data_export.rb +7 -2
- data/lib/movieDB/version.rb +1 -1
- data/test/unit/test_movie_db.rb +5 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abd7277f09e27f87c05a46760b7604142a13c4f4
|
4
|
+
data.tar.gz: 7b7982a640eff36476dcc23dfeb737e87f3ee911
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 950a7d07348be94e30fb40e74048de44c6548f1794bf0c65ac140a6f2845733a76533c0d49e7ea5dec9f5b8397e76082f8b93580959c08ae0cf3d2e8589cca5c
|
7
|
+
data.tar.gz: e8293834822371dec1e2579eeff6e4f6aa9baf035c46ca8a0324d7458ca029c6c875afec8577cbb329448022207bc0c2d20ed0fec243b2c1eb11dee1b3f81863
|
data/Changelog.md
CHANGED
data/lib/movieDB.rb
CHANGED
@@ -85,11 +85,7 @@ unless defined? MovieDB::Movie
|
|
85
85
|
DEFAULT_REVENUE = 456790
|
86
86
|
|
87
87
|
def initialize(attributes = {})
|
88
|
-
|
89
|
-
trailer_url director writers filming_locations company genres languages countries
|
90
|
-
length plot poster rating votes mpaa_rating tagline year release_date revenue)
|
91
|
-
|
92
|
-
movie_attr.each do |attr|
|
88
|
+
MovieDB::DataExport::IMDB_ATTRIBUTES_HEADERS.each do |attr|
|
93
89
|
self.send("#{attr}=", (attributes.has_key?(attr.to_sym) ? attributes[attr.to_sym] : self.class.const_get("DEFAULT_#{attr.upcase}")))
|
94
90
|
end
|
95
91
|
end
|
@@ -100,7 +96,7 @@ unless defined? MovieDB::Movie
|
|
100
96
|
# You can fetch IMDb movie data like this:
|
101
97
|
# ids = ["2024544", "1800241" ]
|
102
98
|
#
|
103
|
-
# MovieDB::Movie.
|
99
|
+
# MovieDB::Movie.find_imdb_id(ids)
|
104
100
|
#
|
105
101
|
# The fetch data is stored in redis for 1800 seconds
|
106
102
|
# And then written to a xls file.
|
@@ -144,7 +140,7 @@ unless defined? MovieDB::Movie
|
|
144
140
|
imdb_movie_data = @imdb_movie_data[idx]
|
145
141
|
tmdb_movie_data = @tmdb_movie_data[idx]
|
146
142
|
|
147
|
-
|
143
|
+
MovieDB::DataExport::IMDB_ATTRIBUTES_HEADERS.each do |attr_key|
|
148
144
|
begin imdb_movie_data.send(attr_key)
|
149
145
|
attr_value = imdb_movie_data.send(attr_key)
|
150
146
|
rescue
|
data/lib/movieDB/data_export.rb
CHANGED
@@ -6,7 +6,12 @@ require "json"
|
|
6
6
|
# The key and values are written into a spreadsheet for later data analysis.
|
7
7
|
module MovieDB
|
8
8
|
module DataExport
|
9
|
+
IMDB_ATTRIBUTES_HEADERS = %w(title cast_members cast_characters cast_member_ids cast_members_characters
|
10
|
+
trailer_url director writers filming_locations company genres languages countries
|
11
|
+
length plot poster rating votes mpaa_rating tagline year release_date revenue)
|
12
|
+
|
9
13
|
def export_movie_data(db_redis, imdb_ids)
|
14
|
+
|
10
15
|
@db_redis = db_redis
|
11
16
|
@imdb_ids = imdb_ids
|
12
17
|
|
@@ -38,7 +43,7 @@ module MovieDB
|
|
38
43
|
end
|
39
44
|
|
40
45
|
def create_spreadsheet_header
|
41
|
-
@sheet.row(0).concat
|
46
|
+
@sheet.row(0).concat MovieDB::DataExport::IMDB_ATTRIBUTES_HEADERS
|
42
47
|
|
43
48
|
title_format = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 13
|
44
49
|
float_format = Spreadsheet::Format.new :number_format => "0.00"
|
@@ -54,7 +59,7 @@ module MovieDB
|
|
54
59
|
@imdb_ids.each_with_index do |imdb_id, idx|
|
55
60
|
row = @sheet.row(idx + 1)
|
56
61
|
|
57
|
-
|
62
|
+
MovieDB::DataExport::IMDB_ATTRIBUTES_HEADERS.each do |attr_key|
|
58
63
|
string_values = ['title', 'language', 'length', 'rating', 'vote', 'release', 'mpaa_rating', 'year', 'revenue']
|
59
64
|
|
60
65
|
# Check to see if the fetch redis value is in a JSON
|
data/lib/movieDB/version.rb
CHANGED
data/test/unit/test_movie_db.rb
CHANGED
@@ -2,19 +2,16 @@ require 'test/unit'
|
|
2
2
|
require "imdb"
|
3
3
|
require "redis"
|
4
4
|
require 'fileutils'
|
5
|
-
|
5
|
+
require 'movieDB'
|
6
6
|
begin
|
7
|
-
require '
|
8
|
-
rescue
|
7
|
+
require 'movieDB'
|
8
|
+
rescue
|
9
9
|
end
|
10
10
|
|
11
11
|
class TestMovieDB < Test::Unit::TestCase
|
12
|
-
|
13
12
|
# This unit test writes an excel file to the reports directory
|
14
|
-
# in your gem folder.
|
15
|
-
#
|
16
|
-
# So, this method removes and empty the reports folder of
|
17
|
-
# all or andy pre-existing test files.
|
13
|
+
# in your gem folder. So, this method removes and empty the reports folder of
|
14
|
+
# all or any pre-existing test files.
|
18
15
|
def remove_test_files_from_reports_directory
|
19
16
|
testxlsfiles = File.join("**", "reports", "*.xls")
|
20
17
|
FileUtils.rm Dir.glob(testxlsfiles)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: movieDB
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Albert McKeever
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|