crawler-movie-imdb 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1a5cbc377d1eaee2816cddfa49d4172bf3cdd594c0375d6ce67a64345084ce1
4
- data.tar.gz: d9f0b668511cc3e9ebbcfcc3659a03fc55272742f7c540319a0ef379d84764ad
3
+ metadata.gz: 204e2f7ba0b7b2cbb810ed68e6928f16b372571be966e4ecd9a1a86fa94640eb
4
+ data.tar.gz: 863763956f0f3416722195495b4c1f0d7a44ac65a84598305f2e497a7e4dc915
5
5
  SHA512:
6
- metadata.gz: 869240e44ddc2c1a21c5fa73a6d62b25685ba8062b64b8e0533f019c84fc9baa18a4a84ac5d0e8fcf194ebd0f33d41c90abb54751dfa281a0524e0eed06ccac4
7
- data.tar.gz: 1e366b6a764b187257661c9a0bedfe241dc416d2947192cf80f923f20ad6cfd3ae4b18ad064665eff5af9df9c5ae350cf4765f906080ab885b098398de4622f0
6
+ metadata.gz: 8c6787a844d7fcf682bfca52f4b486a894a84b595a42a8783c8e86c0d28eeee82ed4f61349328af6726fb6a3946babd6e8971c5e3ba495714ae93a38ec089685
7
+ data.tar.gz: d978990c6aeb5df93e5a733e1f4716b3b36129c8ff28a1cc9d7fcaebfef9449dbd3f99301578386b2e4010fda16cd7af4f93b849683e20f9dcdcdb19fe36727e
data/.gitignore CHANGED
@@ -6,3 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ .idea/
10
+ *.gem
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ['lib']
28
28
 
29
- spec.add_development_dependency 'bundler', '~> 1.17'
30
- spec.add_development_dependency 'rake', '~> 10.0'
29
+ spec.add_development_dependency 'bundler', '~> 2.1'
30
+ spec.add_development_dependency 'rake', '~> 13.0'
31
31
  spec.add_runtime_dependency 'faraday', '>= 0.15'
32
32
  spec.add_runtime_dependency 'nokogiri', '>= 1.4'
33
33
  spec.add_runtime_dependency 'activesupport', '>= 3.0'
@@ -13,7 +13,7 @@ module Crawler
13
13
  def self.find(id)
14
14
  response = Faraday.get("https://www.imdb.com/title/#{id}/")
15
15
 
16
- return if !response.success? || !response.body
16
+ return if !response.success? || response.body.blank?
17
17
 
18
18
  html = Nokogiri::HTML(response.body)
19
19
  widget = html.css('#title-overview-widget')
@@ -21,15 +21,19 @@ module Crawler
21
21
  original_title = widget.css('.title_wrapper .originalTitle > text()').text.presence
22
22
  genres = (html.css('#titleStoryLine .see-more:contains("Genres:") a') || []).map { |genre| genre.text.strip }
23
23
  poster = widget.css('.poster img')
24
- poster_url = poster.present? ? "#{poster.attr('src').value.split('@').first}@._V1_.jpg" : nil
24
+ poster_url = poster.presence && "#{poster.attr('src').value.split('@').first}@._V1_.jpg"
25
25
  overview = widget.css('.summary_text').text.sub(/See full (synopsis|summary) »/, '').strip
26
26
  overview = nil if overview == 'Add a Plot »'
27
27
  release_date_matches = html.css('#titleDetails .txt-block:contains("Release Date:") > text()').text.match(/(?<release_date>\d{1,2} \w+ \d{4})/)
28
28
  release_date = release_date_matches && Date.parse(release_date_matches[:release_date])
29
- original_languages = (html.css('#titleDetails .txt-block:contains("Language:") a') || []).map do |lang|
30
- uri = URI(lang.attr('href'))
31
- params = URI.decode_www_form(uri.query).to_h
32
- params['primary_language']
29
+ original_languages = (html.css('#titleDetails .txt-block:contains("Language:") a') || []).each_with_object([]) do |lang, acc|
30
+ begin
31
+ uri = URI(lang.attr('href'))
32
+ params = URI.decode_www_form(uri.query).to_h
33
+ accc << params['primary_language']
34
+ rescue StandardError
35
+ # Ignored
36
+ end
33
37
  end
34
38
 
35
39
  {
@@ -2,7 +2,7 @@ module Crawler
2
2
  module Movie
3
3
  module Providers
4
4
  module Imdb
5
- VERSION = '0.3.0'
5
+ VERSION = '0.3.1'
6
6
  end
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crawler-movie-imdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan PHILIPPE
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-27 00:00:00.000000000 Z
11
+ date: 2020-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -119,7 +119,7 @@ metadata:
119
119
  homepage_uri: https://crawler.cinema.paris
120
120
  source_code_uri: https://github.com/cinema-paris/crawler-movie-imdb
121
121
  changelog_uri: https://github.com/cinema-paris/crawler-movie-imdb/CHANGELOG.md
122
- post_install_message:
122
+ post_install_message:
123
123
  rdoc_options: []
124
124
  require_paths:
125
125
  - lib
@@ -134,8 +134,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  requirements: []
137
- rubygems_version: 3.0.1
138
- signing_key:
137
+ rubygems_version: 3.1.2
138
+ signing_key:
139
139
  specification_version: 4
140
140
  summary: ''
141
141
  test_files: []