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 +5 -5
- data/.travis.yml +5 -0
- data/README.md +4 -2
- data/kijkwijzer.gemspec +3 -2
- data/lib/kijkwijzer/result.rb +23 -7
- data/lib/kijkwijzer/version.rb +1 -1
- data/lib/kijkwijzer.rb +15 -11
- metadata +26 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: af0948d919a2baa520ea0fbe6850cd8a74b241a9e00bad76064d3aa723d0d8b4
|
4
|
+
data.tar.gz: 665557ad474bb0c71d7e747ea4af1e9a0d7a8271e9d6ca3984b771bbe3af43df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e6967d69d49728712381248768c622906b4450471f73c78b62462d9452f6b2956fe407e418ad3dec4317d9ee52ff6dbcc1764f74444c92508c58d7447641aa1
|
7
|
+
data.tar.gz: 7fcde1ba4a440bf813418437eb8d65374d72528e73be52f017d123e37ea76583bed348b54521dbe3512cc1c631310d9151c0e1d33b0fe76361a790534856f601
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# Kijkwijzer
|
2
|
+
[](https://codeclimate.com/github/murb/kijkwijzer) [](https://travis-ci.org/murb/kijkwijzer) [](http://badge.fury.io/rb/kijkwijzer)
|
2
3
|
|
3
|
-
|
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/
|
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", "
|
24
|
-
spec.add_development_dependency "
|
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
|
data/lib/kijkwijzer/result.rb
CHANGED
@@ -12,13 +12,9 @@ module Kijkwijzer
|
|
12
12
|
@ratings.collect do |rating|
|
13
13
|
rating = rating.to_s.downcase
|
14
14
|
rv = nil
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
data/lib/kijkwijzer/version.rb
CHANGED
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.
|
25
|
-
r
|
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.
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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
|
-
|
99
|
-
|
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: []
|