livescore-parser 0.1.2 → 0.1.3

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
2
  SHA1:
3
- metadata.gz: 2e23b94b2804c5f214cb832551711871290a6878
4
- data.tar.gz: 75cb546fb210cb8b856f63409f1d88a6a38b7a92
3
+ metadata.gz: 58ce15c34cc7bddc32a5d7e732c91e7373949b16
4
+ data.tar.gz: 690673eb5ca3c4384bac4e536899db73669a871e
5
5
  SHA512:
6
- metadata.gz: a71dbc84a53c11683c26d1c033fddd790562997f2470a013a5d585545150623144f5d0deb4290b773490809c4d5641ded8701d050b2e3f471edc43b86a1a053e
7
- data.tar.gz: d25fb25d2445b986b2bb5572232f81c876b5cdd7fc57e4eba2e7cae96ae0106104a5e0a6fee12c0ff6c7571a6ff3f38ef9483acb8d8c3ca82482bcd4c5fc6f65
6
+ metadata.gz: 5d555f5c0e8704a505d1bb2f320ca6e616534936a7f8861293c42708390f34e0942dee8645e45af6a78a4a622f8f729ae9ea7419456b55963fe3667430b3d4b3
7
+ data.tar.gz: 01d64e014baf28b88ef1d2ba1133c16e9dfa559503d0fa7931e4bd492fbbcce4ba3d31c6e0713a5ecb19ed5db782e3ad08b36e51519c60a2f7f4ab0606b2408a
@@ -9,7 +9,6 @@ module LivescoreParser
9
9
  require 'yaml'
10
10
  require 'mechanize'
11
11
  require 'nokogiri'
12
- require 'pry'
13
12
 
14
13
  require_relative 'livescore-parser/parser' # Parsing from website
15
14
  require_relative 'livescore-parser/writer' # Writing from ruby hash to XML
@@ -18,7 +18,7 @@ module LivescoreParser
18
18
 
19
19
  def download(url)
20
20
  page = Nokogiri::HTML(@agent.get(url).body)
21
- data = build_hash page.css(".content tr").select{ |row| row.css('td').any? }
21
+ data = build_hash page.css(".content tr")
22
22
  if data.empty?
23
23
  puts "Missing data"
24
24
  return nil
@@ -31,16 +31,22 @@ module LivescoreParser
31
31
  def build_hash(data)
32
32
  index = 0
33
33
  data.map do |row|
34
- index += 1
35
- {
36
- wiersz: index,
37
- czas: row.css('td')[0].text.strip,
38
- gracz1: row.css('td')[1].text.strip,
39
- wynik1: row.css('td')[2].text.strip.match(/^[0-9\?]+/).to_s,
40
- gracz2: row.css('td')[3].text.strip,
41
- wynik2: row.css('td')[2].text.strip.match(/[0-9\?]+$/).to_s
42
- }
43
- end
34
+ if row.css('td').any?
35
+ index += 1
36
+ {
37
+ wiersz: index,
38
+ czas: row.css('td')[0].text.strip,
39
+ gracz1: row.css('td')[1].text.strip,
40
+ wynik1: row.css('td')[2].text.strip.match(/^[0-9\?]+/).to_s,
41
+ gracz2: row.css('td')[3].text.strip,
42
+ wynik2: row.css('td')[2].text.strip.match(/[0-9\?]+$/).to_s,
43
+ kraj: @country
44
+ }
45
+ else
46
+ @country = row.css('.league').text.strip
47
+ next
48
+ end
49
+ end.compact
44
50
  end
45
51
  end
46
52
  end
@@ -31,15 +31,15 @@ module LivescoreParser
31
31
  data.each do |score|
32
32
  xml.node do |node|
33
33
  node.wiersz score[:wiersz]
34
- node.czas score[:czas]
34
+ node.czas score[:czas]
35
35
  node.gracz1 score[:gracz1]
36
36
  node.wynik1 score[:wynik1]
37
37
  node.gracz2 score[:gracz2]
38
38
  node.wynik2 score[:wynik2]
39
+ node.kraj score[:kraj]
39
40
  end
40
41
  end
41
42
  end
42
43
  end
43
44
  end
44
45
  end
45
- # {:wiersz=>1, :czas=>"19:45", :gracz1=>"Wycombe Wanderers", :wynik1=>"?", :gracz2=>"Burton Albion", :wynik2=>"?"}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livescore-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Walusiak
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  version: '0'
86
86
  requirements: []
87
87
  rubyforge_project:
88
- rubygems_version: 2.2.0
88
+ rubygems_version: 2.2.2
89
89
  signing_key:
90
90
  specification_version: 4
91
91
  summary: TV Channel parser