program-tv 0.0.6 → 0.0.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.
@@ -16,6 +16,7 @@ module ProgramTV
16
16
  private
17
17
 
18
18
  def schedule(epg_name, url)
19
+ @additional_day = false
19
20
  page = Nokogiri::HTML(@agent.get(url).body)
20
21
  data = page.css(".main.col > table:last > tbody > tr").map do |e|
21
22
  {
@@ -28,7 +29,18 @@ module ProgramTV
28
29
  puts "Missing schedule for channel #{epg_name}"
29
30
  return
30
31
  end
31
- data[0..-2].each_with_index{ |element, i| element[:end] = data[i+1][:start] }
32
+ data[0..-2].each_with_index do |element, i|
33
+ element[:stop] = data[i+1][:start]
34
+ if element[:stop] < element[:start]
35
+ @additional_day = true
36
+ element[:stop] += 86400
37
+ elsif @additional_day
38
+ element[:start] += 86400
39
+ element[:stop] += 86400
40
+ end
41
+ element[:start] = element[:start].strftime("%Y%m%d%H%M%S %z")
42
+ element[:stop] = element[:stop].strftime("%Y%m%d%H%M%S %z")
43
+ end
32
44
  data.pop
33
45
  data
34
46
  end
@@ -39,9 +51,9 @@ module ProgramTV
39
51
  return nil unless time
40
52
  Time.new(Time.new.year,
41
53
  Time.new.month,
42
- Time.new.day,
54
+ Time.new.day + 1,
43
55
  time[1],
44
56
  time[2])
45
57
  end
46
58
  end
47
- end
59
+ end
@@ -14,7 +14,10 @@ module ProgramTV
14
14
  today_schedule = []
15
15
  if File.exist?(xml_path(schedule))
16
16
  File.open(xml_path(schedule), "r+") do |file|
17
- today_schedule = Hash.from_xml(file.read)[:tv][:programme]
17
+ today_schedule = Hash.from_xml(file.read)[:tv][:programme].map do |e|
18
+ e[:attributes][:title] = e[:title]
19
+ e[:attributes]
20
+ end
18
21
  end
19
22
  end
20
23
  File.open(xml_path(schedule), "w+") do |file|
@@ -35,11 +38,9 @@ module ProgramTV
35
38
  xml_builder.instruct! :xml, :encoding => "UTF-8"
36
39
  xml_builder.tv do |tv|
37
40
  schedule.each do |program|
38
- tv.programme do |p|
39
- p.title program[:title]
40
- p.channel program[:channel]
41
- p.start program[:start]
42
- p.end program[:end]
41
+ tv.programme :channel => program[:channel], :start => program[:start], :stop => program[:stop] do |p|
42
+ p.title program[:title], :lang => 'pl'
43
+ p.desc
43
44
  end
44
45
  end
45
46
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: program-tv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Maciej Walusiak
@@ -13,43 +14,49 @@ dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: builder
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: mechanize
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: nokogiri
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  description: Downloads TV channel schedule in XML format
@@ -68,26 +75,26 @@ files:
68
75
  homepage: https://github.com/Rabsztok/program-tv
69
76
  licenses:
70
77
  - GPL
71
- metadata: {}
72
78
  post_install_message:
73
79
  rdoc_options: []
74
80
  require_paths:
75
81
  - lib
76
82
  required_ruby_version: !ruby/object:Gem::Requirement
83
+ none: false
77
84
  requirements:
78
- - - '>='
85
+ - - ! '>='
79
86
  - !ruby/object:Gem::Version
80
87
  version: '0'
81
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
+ none: false
82
90
  requirements:
83
- - - '>='
91
+ - - ! '>='
84
92
  - !ruby/object:Gem::Version
85
93
  version: '0'
86
94
  requirements: []
87
95
  rubyforge_project:
88
- rubygems_version: 2.0.7
96
+ rubygems_version: 1.8.23
89
97
  signing_key:
90
- specification_version: 4
98
+ specification_version: 3
91
99
  summary: TV Channel parser
92
100
  test_files: []
93
- has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 68e09f44b1853d8116875621e117bd935a3dca0e
4
- data.tar.gz: 7eece625724d68feb428ed3d7faea8f070f79ade
5
- SHA512:
6
- metadata.gz: 442a702464d3cacda9cf4da4238a1f36f3e708f9c752c1bff15a969b5d3e62f907f477eef7d77055319e6b7f566a1af4c3da94df1b51a3482ebb13434322b071
7
- data.tar.gz: 4d20703fc27546ae8bd1d9294d30281f5b6d7a884647527557ddfc177b7845d0d806d5f26881cd3729c80639a55933cad9d6ddedff4586ee2275ad15ec4bc4a7