kijkwijzer 0.1.1 → 0.1.5

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.
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: []