kijkwijzer 0.1.5 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -0
- data/lib/kijkwijzer/result.rb +11 -7
- data/lib/kijkwijzer/version.rb +1 -1
- data/lib/kijkwijzer.rb +15 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 364e7dcc3d6ce2901ccfbefe6d8cac8afc871b1a7d8618f65d2c04ee36fb53f1
|
4
|
+
data.tar.gz: c1fdd1b56dc80a0aac1f6f078fc35a7c57e766cabe78ebc2fa4377c381663b58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49de5dd1b013871fcc717f4ab685fb6def12d9ae75bf765b3d7152385f195befce5f0411be70da23ceb8c40fdf577dab88908ca7d9f44250e95f8e4afd30c2e9
|
7
|
+
data.tar.gz: ea041fe6040577be23c04deb7f5a48e8f85de0e7e2ffb0710183fd9bd70aac76cb789dd155b558987caa6a7b692f496e2b9c4195c5672f84a08ba2d29ab76a62
|
data/README.md
CHANGED
@@ -56,6 +56,16 @@ Then to display the movie results use the view helper `render_kijkwijzers`:
|
|
56
56
|
|
57
57
|
Make sure you format the icons properly, otherwise you'll get huge icons ... I believe I've added plenty of classes for easy styling using css.
|
58
58
|
|
59
|
+
## Changelog
|
60
|
+
|
61
|
+
0.2.0 May 4, 2022
|
62
|
+
Updated results scraping to their pudated HTML format
|
63
|
+
|
64
|
+
0.1.5 November 16, 2021
|
65
|
+
update dependencies / loosen dev requirements
|
66
|
+
|
67
|
+
|
68
|
+
|
59
69
|
## Development
|
60
70
|
|
61
71
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/kijkwijzer/result.rb
CHANGED
@@ -33,13 +33,17 @@ module Kijkwijzer
|
|
33
33
|
class << self
|
34
34
|
def new_from_nokogiri_result_fragment nokogiri_result_fragment
|
35
35
|
r = self.new
|
36
|
-
r.title = nokogiri_result_fragment.css('
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
r.title = nokogiri_result_fragment.css('.c-search__title').text
|
37
|
+
production_type_year_match = nokogiri_result_fragment.css('.c-search__text').text.match(/\A\s*(.*)\s*\((\d\d\d\d)\)\s*$/)
|
38
|
+
if production_type_year_match
|
39
|
+
r.year = production_type_year_match[2].to_i if production_type_year_match[2]
|
40
|
+
r.production_type = production_type_year_match[1].strip if production_type_year_match[1]
|
41
|
+
r.ratings = nokogiri_result_fragment.css(".c-search__marks .c-search__mark").collect do |a|
|
42
|
+
class_fragment = a.attr("class").match(/\Ac-search__mark\sc-search__mark--(.*)$/)[1]
|
43
|
+
Kijkwijzer::POSSIBLE_RATINGS.find{|a| a[:nl_key] == class_fragment}&.[](:value)
|
44
|
+
end.compact
|
45
|
+
return r
|
46
|
+
end
|
43
47
|
end
|
44
48
|
end
|
45
49
|
end
|
data/lib/kijkwijzer/version.rb
CHANGED
data/lib/kijkwijzer.rb
CHANGED
@@ -7,24 +7,24 @@ require 'kijkwijzer/railtie' if defined?(Rails)
|
|
7
7
|
|
8
8
|
module Kijkwijzer
|
9
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"}
|
10
|
+
{nl_key: "alle-leeftijden", name: "Alle leeftijden", value: "al", code: "al"},
|
11
|
+
{nl_key: "leeftijd-6", name: "6 jaar en ouder", value: "6", code: "6"},
|
12
|
+
{nl_key: "leeftijd-9", name: "9 jaar en ouder", value: "9", code: "9"},
|
13
|
+
{nl_key: "leeftijd-12", name: "12 jaar en ouder", value: "12", code: "12"},
|
14
|
+
{nl_key: "leeftijd-16", name: "16 jaar en ouder", value: "16", code: "16"},
|
15
|
+
{nl_key: "geweld", name: "Geweld", value: "violence", code: "g"},
|
16
|
+
{nl_key: "angst", name: "Angst", value: "scary", code: "a"},
|
17
|
+
{nl_key: "seks", name: "Seks", value: "sex", code: "s"},
|
18
|
+
{nl_key: "discriminatie", name: "Discriminatie", value: "discrimination", code: "d"},
|
19
|
+
{nl_key: "drugs", name: "Drugs en/of alcoholmisbruik", value: "drugs", code: "h"},
|
20
|
+
{nl_key: "grof-taalgebruik", name: "Grof taalgebruik", value: "language", code: "t"}
|
21
21
|
]
|
22
22
|
class << self
|
23
23
|
def search_url(search)
|
24
|
-
"
|
24
|
+
"https://www.kijkwijzer.nl/zoeken/?query=#{url_encode(search)}&producties=0"
|
25
25
|
end
|
26
26
|
def get_content(search)
|
27
|
-
Nokogiri::HTML(open(search_url(search)))
|
27
|
+
Nokogiri::HTML(URI::open(search_url(search)))
|
28
28
|
end
|
29
29
|
|
30
30
|
# Search the Kijkwijzer database
|
@@ -33,9 +33,9 @@ module Kijkwijzer
|
|
33
33
|
def search(search, filter={})
|
34
34
|
res = get_content(search)
|
35
35
|
results = []
|
36
|
-
res.css('.
|
36
|
+
res.css('.c-search__results .c-search__result').each do |result|
|
37
37
|
r = Result.new_from_nokogiri_result_fragment(result)
|
38
|
-
results << r
|
38
|
+
results << r if (r && r.match_filter?(filter))
|
39
39
|
end
|
40
40
|
results
|
41
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maarten Brouwers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|