afr_load 0.1.6 → 0.1.7
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 +4 -4
- data/lib/afr_load/parser.rb +42 -39
- data/lib/afr_load/tv_program.rb +18 -21
- data/lib/afr_load/version.rb +1 -1
- data/lib/afr_load.rb +31 -30
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cb1b1a9b4ae65c727b920d48bf19f6411b95066
|
4
|
+
data.tar.gz: 5207fc38ef56c79c1a7b8be94731117a696e7937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2356c23ebde539fea0af7cbcd46e07a4d741704fab4c5cb855925752386b8eb7ba8018eaa4d9175d62af4d3d589cd4ee0cf2d0b04a6802bb836ba07ea7f4b216
|
7
|
+
data.tar.gz: 3b71c9220a6ec11fdc412146e8fc10dcf4b1162dec13ca1b2dc3a53d6b0fa15365f5a5e8569b0ee97fb6d4e6d6a64de4544029c8e2734deacfccbb9295d38a90
|
data/lib/afr_load/parser.rb
CHANGED
@@ -3,47 +3,50 @@
|
|
3
3
|
require "afr_load/tv_program"
|
4
4
|
|
5
5
|
module AfrLoad
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
module Parser
|
7
|
+
class << self
|
8
|
+
def parse(document)
|
9
|
+
month_lineup_doc = get_month_lineup(document)
|
10
|
+
month_lineup_doc.map do |lineup|
|
11
|
+
parse_month_lineup(lineup)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_month_lineup(document)
|
16
|
+
document.xpath("//div[@id='contents']/div").select do |contents_child|
|
17
|
+
is_month_lineup(contents_child)
|
18
|
+
end
|
19
|
+
end
|
14
20
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
if contents_child.attribute("id").value =~ /[0-9]{6}/
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
end
|
21
|
+
def is_month_lineup(contents_child)
|
22
|
+
return false if contents_child.attribute("id") == nil
|
23
|
+
if contents_child.attribute("id").value =~ /[0-9]{6}/
|
24
|
+
true
|
25
|
+
else
|
26
|
+
false
|
27
|
+
end
|
28
|
+
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
30
|
+
def parse_month_lineup(contents_child)
|
31
|
+
contents_child.xpath("//div/div[@class='gogo_item']").map do |movie_node|
|
32
|
+
data_block = movie_node.at_xpath("div[contains(@class, 'g_data_block')]")
|
33
|
+
year_country = data_block.at_xpath("div/span[@class='g_country_year']").text.split("◆")
|
34
|
+
performer = data_block.xpath("div/div/div[2]/span[2]").text
|
35
|
+
tv_program = TvProgram.new do |info|
|
36
|
+
#<div class="gogo_item" data-oaStart="2017053113350000" data-oaEnd="2017053115400000">
|
37
|
+
info.on_air_start = movie_node.get("data-oaStart")
|
38
|
+
info.on_air_end = movie_node.get("data-oaEnd")
|
39
|
+
info.on_air_date = movie_node.at_xpath("span[contains(@class, 'g_day')]").text
|
40
|
+
info.title_ja = data_block.at_xpath("h3/span[@class='jp']").text
|
41
|
+
info.title = data_block.at_xpath("h3/span[contains(@class, 'en')]").text
|
42
|
+
info.released_year = year_country[0]
|
43
|
+
info.released_country = year_country[1]
|
44
|
+
info.movie_director = data_block.xpath("div/div/div[1]/span[2]").text
|
45
|
+
info.leading_actor = performer.split("/")[0]
|
46
|
+
info.supporting_actor = performer.split("/")[1]
|
47
|
+
end
|
47
48
|
end
|
49
|
+
end
|
48
50
|
end
|
51
|
+
end
|
49
52
|
end
|
data/lib/afr_load/tv_program.rb
CHANGED
@@ -1,28 +1,25 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module AfrLoad
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
class TvProgram
|
5
|
+
attr_accessor :on_air_date,
|
6
|
+
:on_air_start, :on_air_end,
|
7
|
+
:title_ja, :title,
|
8
|
+
:released_year, :released_country,
|
9
|
+
:movie_director,
|
10
|
+
:leading_actor, :supporting_actor
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
def initialize()
|
13
|
+
yield(self) if block_given?
|
14
|
+
end
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
movie_director: #{@movie_director}, \
|
23
|
-
leading_actor: #{@leading_actor}, \
|
24
|
-
supporting_actor: #{@supporting_actor}
|
25
|
-
EOS
|
26
|
-
end
|
16
|
+
def show()
|
17
|
+
instance_variables.each do |var|
|
18
|
+
k = var.to_s.tr("@","")
|
19
|
+
v = instance_variable_get(var)
|
20
|
+
print "#{k}: #{v}, "
|
21
|
+
end
|
22
|
+
puts
|
27
23
|
end
|
24
|
+
end
|
28
25
|
end
|
data/lib/afr_load/version.rb
CHANGED
data/lib/afr_load.rb
CHANGED
@@ -3,40 +3,41 @@
|
|
3
3
|
require "oga"
|
4
4
|
require "httpclient"
|
5
5
|
|
6
|
+
require "bundler"
|
6
7
|
Bundler.require(:default, :development)
|
7
8
|
require "afr_load/version"
|
8
9
|
require "afr_load/parser.rb"
|
9
10
|
|
10
11
|
module AfrLoad
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
12
|
+
class AfrLoad
|
13
|
+
AFR_LOAD_URL = "http://www.tv-tokyo.co.jp/telecine/oa_afr_load/"
|
14
|
+
|
15
|
+
attr_accessor :url
|
16
|
+
attr_reader :programs, :document
|
17
|
+
|
18
|
+
def initialize()
|
19
|
+
@url = AFR_LOAD_URL
|
20
|
+
@programs = Array.new()
|
21
|
+
yield(self) if block_given?
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.get_schedule()
|
25
|
+
afr = self.new()
|
26
|
+
afr.get_schedule()
|
27
|
+
afr.get_program()
|
28
|
+
end
|
29
|
+
|
30
|
+
def get_schedule()
|
31
|
+
if @url.start_with?("http")
|
32
|
+
body = HTTPClient.get(@url).body.force_encoding("utf-8")
|
33
|
+
else
|
34
|
+
body = File.open(@url).read
|
35
|
+
end
|
36
|
+
@document = Oga.parse_html(body)
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_program
|
40
|
+
@programs = Parser.parse(@document).flatten
|
41
41
|
end
|
42
|
+
end
|
42
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: afr_load
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iaia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|