kijkwijzer 0.1.1 → 0.1.5

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
- SHA1:
3
- metadata.gz: b209b4c4e789335dcd55660460babce377f4dd8f
4
- data.tar.gz: c11814b1549ea455d10f4ee15b2c093265e0bb3c
2
+ SHA256:
3
+ metadata.gz: af0948d919a2baa520ea0fbe6850cd8a74b241a9e00bad76064d3aa723d0d8b4
4
+ data.tar.gz: 665557ad474bb0c71d7e747ea4af1e9a0d7a8271e9d6ca3984b771bbe3af43df
5
5
  SHA512:
6
- metadata.gz: f17b634e82c6c35959fe0ec7119a90b93355833cf19b5d55889965473be69d694f593ddae152f0b5c2c302de3a8e60a7d3d0275db05bf38546bddd23b3db23cb
7
- data.tar.gz: 0288bf24e007af2f6d682f0d95c748afd26494ca4d00ae7c1ea79a6087c93f6c3cf35d71686dc013c8008ec13434d85ec7e5282ce91bac82ebff57be0d2eba53
6
+ metadata.gz: 8e6967d69d49728712381248768c622906b4450471f73c78b62462d9452f6b2956fe407e418ad3dec4317d9ee52ff6dbcc1764f74444c92508c58d7447641aa1
7
+ data.tar.gz: 7fcde1ba4a440bf813418437eb8d65374d72528e73be52f017d123e37ea76583bed348b54521dbe3512cc1c631310d9151c0e1d33b0fe76361a790534856f601
data/.travis.yml CHANGED
@@ -1,3 +1,8 @@
1
1
  language: ruby
2
+ sudo: false
2
3
  rvm:
3
4
  - 2.1.5
5
+ - 2.5.0
6
+ script:
7
+ - export RAILS_ENV=test
8
+ - bundle exec rspec
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Kijkwijzer
2
+ [![Code Climate](https://codeclimate.com/github/murb/kijkwijzer.png)](https://codeclimate.com/github/murb/kijkwijzer) [![Build Status](https://travis-ci.org/murb/kijkwijzer.svg?branch=master)](https://travis-ci.org/murb/kijkwijzer) [![Gem Version](https://badge.fury.io/rb/kijkwijzer.svg)](http://badge.fury.io/rb/kijkwijzer)
2
3
 
3
- [Kijkwijzer](http://kijkwijzer.nl) is the [Dutch film/television-screening system](https://en.wikipedia.org/wiki/Television_content_rating_systems#Netherlands). Since there is no proper API i made this gem to remove the scraping bit from my own app-source.
4
+
5
+ [Kijkwijzer](http://kijkwijzer.nl) is the [Dutch film/television-screening system](https://en.wikipedia.org/wiki/Television_content_rating_systems#Netherlands). Since there is no proper API, this gem was made to remove the scraping bit from my own app-source. Additionally some helper methods have been added to make displaying the icons easier (the icons are included in this gem as a SVG-iconset).
4
6
 
5
7
  ## Installation
6
8
 
@@ -62,7 +64,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
62
64
 
63
65
  ## Contributing
64
66
 
65
- 1. Fork it ( https://github.com/[my-github-username]/kijkwijzer/fork )
67
+ 1. Fork it ( https://github.com/murb/kijkwijzer/fork )
66
68
  2. Create your feature branch (`git checkout -b my-new-feature`)
67
69
  3. Commit your changes (`git commit -am 'Add some feature'`)
68
70
  4. Push to the branch (`git push origin my-new-feature`)
data/kijkwijzer.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_dependency "nokogiri"
23
- spec.add_development_dependency "bundler", "~> 1.9"
24
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "bundler", "> 2"
24
+ spec.add_development_dependency "rspec", "~> 3.4"
25
+ spec.add_development_dependency "rake", "> 12"
25
26
  end
@@ -12,13 +12,9 @@ module Kijkwijzer
12
12
  @ratings.collect do |rating|
13
13
  rating = rating.to_s.downcase
14
14
  rv = nil
15
- rv = rating if ["al","6","9","12","16"].include? rating
16
- rv = "violence" if ["violence","g"].include? rating
17
- rv = "scary" if ["scary","a"].include? rating
18
- rv = "sex" if ["sex","s"].include? rating
19
- rv = "drugs" if ["drugs","h"].include? rating
20
- rv = "discrimination" if ["discrimination","d"].include? rating
21
- rv = "language" if ["language","t"].include? rating
15
+ Kijkwijzer::POSSIBLE_RATINGS.each do |pr|
16
+ rv = pr[:value] if (rating == pr[:value] or rating == pr[:code])
17
+ end
22
18
  rv
23
19
  end.compact
24
20
  end
@@ -26,5 +22,25 @@ module Kijkwijzer
26
22
  def to_s
27
23
  "#<Kijkwijzer::Result @title=\"#{title}\", @year=#{year}>"
28
24
  end
25
+
26
+ # Filters use a key value hash to which the results should conform
27
+ #
28
+ # @return [TrueClass, FalseClass]
29
+ def match_filter?(filter)
30
+ !(filter.collect{|k, v| include_r = (self.send(k) == v)}.include? false)
31
+ end
32
+
33
+ class << self
34
+ def new_from_nokogiri_result_fragment nokogiri_result_fragment
35
+ r = self.new
36
+ r.title = nokogiri_result_fragment.css('b').text
37
+ production_type_match = nokogiri_result_fragment.text.match(/Productietype\:\s(.*)\.(\sProductie)/)
38
+ production_year_match = nokogiri_result_fragment.text.match(/\sProductiejaar\:\s(\d\d\d\d)\.\s/)
39
+ r.year = production_year_match[1].to_i if production_year_match
40
+ r.production_type = production_type_match[1] if production_type_match
41
+ r.ratings = nokogiri_result_fragment.css("img").collect{|a| a.attr("src").match(/\/upload\/pictogrammen\/\d*_\d*_(.*)\.png/)[1]}
42
+ return r
43
+ end
44
+ end
29
45
  end
30
46
  end
@@ -1,3 +1,3 @@
1
1
  module Kijkwijzer
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.5"
3
3
  end
data/lib/kijkwijzer.rb CHANGED
@@ -6,6 +6,19 @@ require 'kijkwijzer/result'
6
6
  require 'kijkwijzer/railtie' if defined?(Rails)
7
7
 
8
8
  module Kijkwijzer
9
+ POSSIBLE_RATINGS = [
10
+ {name: "Alle leeftijden", value: "al", code: "al"},
11
+ {name: "6 jaar en ouder", value: "6", code: "6"},
12
+ {name: "9 jaar en ouder", value: "9", code: "9"},
13
+ {name: "12 jaar en ouder", value: "12", code: "12"},
14
+ {name: "16 jaar en ouder", value: "16", code: "16"},
15
+ {name: "Geweld", value: "violence", code: "g"},
16
+ {name: "Angst", value: "scary", code: "a"},
17
+ {name: "Seks", value: "sex", code: "s"},
18
+ {name: "Discriminatie", value: "discrimination", code: "d"},
19
+ {name: "Drugs en/of alcoholmisbruik", value: "drugs", code: "h"},
20
+ {name: "Grof taalgebruik", value: "language", code: "t"}
21
+ ]
9
22
  class << self
10
23
  def search_url(search)
11
24
  "http://www.kijkwijzer.nl/index.php?id=3__i&searchfor=#{url_encode(search)}&tab=KIJKWIJZER"
@@ -21,17 +34,8 @@ module Kijkwijzer
21
34
  res = get_content(search)
22
35
  results = []
23
36
  res.css('.content_hok .nieuwsitem').each do |result|
24
- r = Result.new()
25
- r.title = result.css('b').text
26
- meta_parse = result.text.match(/Productietype\:\s(.*)\.\sProductiejaar\:\s(\d\d\d\d)\.\s/)
27
- r.year = meta_parse[2].to_i
28
- r.production_type = meta_parse[1]
29
- r.ratings = result.css("img").collect{|a| a.attr("src").match(/\/images\/icons\/M_(.*)\.png/)[1]}
30
- include_r = true
31
- filter.each do |key, value|
32
- include_r = (r.send(key) == value)
33
- end
34
- results << r if include_r
37
+ r = Result.new_from_nokogiri_result_fragment(result)
38
+ results << r if r.match_filter?(filter)
35
39
  end
36
40
  results
37
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kijkwijzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maarten Brouwers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-21 00:00:00.000000000 Z
11
+ date: 2021-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -26,32 +26,46 @@ dependencies:
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">"
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">"
39
+ - !ruby/object:Gem::Version
40
+ version: '2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '1.9'
47
+ version: '3.4'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.9'
54
+ version: '3.4'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - ">"
46
60
  - !ruby/object:Gem::Version
47
- version: '10.0'
61
+ version: '12'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">"
53
67
  - !ruby/object:Gem::Version
54
- version: '10.0'
68
+ version: '12'
55
69
  description: Retrieves the kijkwijzer rating for a particular title and year
56
70
  email:
57
71
  - github.com@murb.nl
@@ -80,7 +94,7 @@ homepage: https://github.com/murb/kijkwijzer
80
94
  licenses:
81
95
  - MIT
82
96
  metadata: {}
83
- post_install_message:
97
+ post_install_message:
84
98
  rdoc_options: []
85
99
  require_paths:
86
100
  - lib
@@ -95,9 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  requirements: []
98
- rubyforge_project:
99
- rubygems_version: 2.2.2
100
- signing_key:
112
+ rubygems_version: 3.2.29
113
+ signing_key:
101
114
  specification_version: 4
102
115
  summary: Retrieves the kijkwijzer rating for a particular title and year
103
116
  test_files: []