xmltv 0.8.5 → 0.8.6
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.
- data/bin/xmltv +0 -0
- data/lib/xmltv/sites/tvgids.rb +15 -8
- data/lib/xmltv/sites/tvtoday.rb +4 -1
- data/lib/xmltv/sites/upc.rb +1 -1
- data/lib/xmltv/sites/vpro.rb +7 -2
- data/lib/xmltv/xmltv.rb +6 -3
- metadata +4 -4
data/bin/xmltv
CHANGED
File without changes
|
data/lib/xmltv/sites/tvgids.rb
CHANGED
@@ -162,7 +162,9 @@ module XMLTV
|
|
162
162
|
end
|
163
163
|
rsl.flatten!
|
164
164
|
end
|
165
|
-
|
165
|
+
if rsl
|
166
|
+
raise DateError.new(str) if rsl.index(nil)
|
167
|
+
end
|
166
168
|
rsl
|
167
169
|
end
|
168
170
|
def transform(chan_id)
|
@@ -176,14 +178,19 @@ module XMLTV
|
|
176
178
|
shift = entry['period'] == 'Nacht' ? Dag : 0
|
177
179
|
dag, maand, jaar, startuur, startmin, stopuur, stopmin = parse_times(a)
|
178
180
|
next if dag.nil?
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
181
|
+
begin
|
182
|
+
progdata['start'] = start = Time.local(jaar, maand, dag, startuur, startmin) + shift
|
183
|
+
if stopuur
|
184
|
+
stop = Time.local(jaar, maand, dag, stopuur, stopmin) + shift
|
185
|
+
if start > stop && start.hour >= 21 && stop.hour <= 7
|
186
|
+
stop += Dag
|
187
|
+
end
|
188
|
+
progdata['stop'] = stop
|
185
189
|
end
|
186
|
-
|
190
|
+
rescue ArgumentError
|
191
|
+
STDERR.puts 'ArgumentError'
|
192
|
+
STDERR.puts jaar, maand, dag, stopuur, stopmin
|
193
|
+
next
|
187
194
|
end
|
188
195
|
date_stats(chan_id, progdata['start'])
|
189
196
|
if (b = entry['bijzonderheden'])
|
data/lib/xmltv/sites/tvtoday.rb
CHANGED
@@ -162,7 +162,10 @@ module XMLTV
|
|
162
162
|
if year && year > 1900
|
163
163
|
progdata['date'] = year.to_s
|
164
164
|
elsif role
|
165
|
-
|
165
|
+
content = det.gsub(/\(.*\)/,'').strip
|
166
|
+
unless content.empty?
|
167
|
+
(progdata['credits'][role] ||= Array.new) << content
|
168
|
+
end
|
166
169
|
end
|
167
170
|
end
|
168
171
|
progdata['audio']['stereo'] = 'stereo' if entry['Stereo']
|
data/lib/xmltv/sites/upc.rb
CHANGED
@@ -89,7 +89,7 @@ module XMLTV
|
|
89
89
|
datum = Date.dutch(page.at('//div.epg_listings_bar1//span').inner_text)
|
90
90
|
rescue NoMethodError
|
91
91
|
save(url, page)
|
92
|
-
raise
|
92
|
+
raise BadChannelError.new
|
93
93
|
end
|
94
94
|
if day == 'today' && datum != Date.today
|
95
95
|
# @all_days = Hash.new ## Invalidate cache
|
data/lib/xmltv/sites/vpro.rb
CHANGED
@@ -56,8 +56,13 @@ module XMLTV
|
|
56
56
|
program['category'] = detail.at('//p').inner_text.strip.split("\n")[-1]
|
57
57
|
program['desc'] = detail.at('//p.summary').inner_text.to_utf.strip rescue ''
|
58
58
|
rescue NoMethodError => exc
|
59
|
-
|
60
|
-
|
59
|
+
errfile = '/tmp/vpro.errors'
|
60
|
+
STDERR.puts "Some detail problem, see #{errfile}"
|
61
|
+
File.open(errfile, 'a') do |h|
|
62
|
+
h.puts Time.now
|
63
|
+
h.puts info,'===', detail, '++++++++++++'
|
64
|
+
end
|
65
|
+
|
61
66
|
end
|
62
67
|
program
|
63
68
|
end
|
data/lib/xmltv/xmltv.rb
CHANGED
@@ -96,7 +96,7 @@ module XMLTV
|
|
96
96
|
super {|h,v| h[v] = Hash.new }
|
97
97
|
end
|
98
98
|
end
|
99
|
-
VERSION = '0.8.
|
99
|
+
VERSION = '0.8.6'
|
100
100
|
Progdir = ($LOAD_PATH.find {|x| test(?f, "#{x}/xmltv/xmltv.rb")} || 'lib') + '/xmltv/sites'
|
101
101
|
Sites = Dir["#{Progdir}/*.rb"].map{|x| x[0..-4]}.map{|x| File.basename(x)}
|
102
102
|
class XmltvOptparser
|
@@ -283,7 +283,7 @@ module XMLTV
|
|
283
283
|
end
|
284
284
|
end
|
285
285
|
file = ">#{@grabber.outputfile(chan_id)}"
|
286
|
-
errorfile =
|
286
|
+
errorfile = "/var/tmp/xmllint-errors-#{Time.now.to_i}"
|
287
287
|
if XmltvOptions.validate
|
288
288
|
IO.popen(" ( xmllint --valid - | tv_sort #{file} ) 2>#{errorfile}", 'w') do |h|
|
289
289
|
write_xml h
|
@@ -551,7 +551,7 @@ module XMLTV
|
|
551
551
|
tries = 0
|
552
552
|
begin
|
553
553
|
open(url) { |h| Hpricot(h) }
|
554
|
-
rescue Errno::ECONNREFUSED, ::Timeout::Error, EOFError
|
554
|
+
rescue Errno::ECONNREFUSED, ::Timeout::Error, EOFError, Errno::ETIMEDOUT
|
555
555
|
tries += 1
|
556
556
|
sleep 2
|
557
557
|
retry if tries <= 3
|
@@ -703,6 +703,9 @@ module XMLTV
|
|
703
703
|
nprogs = grab_channel(channel)
|
704
704
|
pda = transform(channel)
|
705
705
|
errors = fix_times(pda)
|
706
|
+
rescue Timeout::Error, Errno::ECONNRESET
|
707
|
+
STDERR.puts "Timeout grab_channel#{channel}"
|
708
|
+
next
|
706
709
|
rescue BadChannelError
|
707
710
|
STDERR.puts "Zie #{reject_file_name}"
|
708
711
|
next
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xmltv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Han Holl
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-05-16 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -28,7 +28,7 @@ dependencies:
|
|
28
28
|
requirements:
|
29
29
|
- - ">="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
version: 1.5.
|
31
|
+
version: 1.5.1
|
32
32
|
version:
|
33
33
|
description: "Xmltv consists of a single base grabber and a bunch of site specific grabbers. The base grabber provides: - a driver - option parsing - start/stop time fixing - xml production - helper functions that site specific grabbers might want to use"
|
34
34
|
email: hanholl@rubyforge.org
|
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
81
|
requirements: []
|
82
82
|
|
83
83
|
rubyforge_project: xmltv
|
84
|
-
rubygems_version: 1.
|
84
|
+
rubygems_version: 1.1.1
|
85
85
|
signing_key:
|
86
86
|
specification_version: 2
|
87
87
|
summary: fetches tv program data from various sites
|