lib/xmltv/sites/tvgids.rb in xmltv-0.8.5 vs lib/xmltv/sites/tvgids.rb in xmltv-0.8.6
- old
+ new
@@ -160,11 +160,13 @@
if mdstop
rsl << mdstop.captures.map {|x| x.to_i}
end
rsl.flatten!
end
- raise DateError.new(str) if rsl.index(nil)
+ if rsl
+ raise DateError.new(str) if rsl.index(nil)
+ end
rsl
end
def transform(chan_id)
# get_file(chan_id)
# STDERR.print "#{chan_id} #{@channelhash.size}"
@@ -174,17 +176,22 @@
progdata = proghash(entry, chan_id)
a=entry['datum en tijdstip']
shift = entry['period'] == 'Nacht' ? Dag : 0
dag, maand, jaar, startuur, startmin, stopuur, stopmin = parse_times(a)
next if dag.nil?
- progdata['start'] = start = Time.local(jaar, maand, dag, startuur, startmin) + shift
-
- if stopuur
- stop = Time.local(jaar, maand, dag, stopuur, stopmin) + shift
- if start > stop && start.hour >= 21 && stop.hour <= 7
- stop += Dag
+ begin
+ progdata['start'] = start = Time.local(jaar, maand, dag, startuur, startmin) + shift
+ if stopuur
+ stop = Time.local(jaar, maand, dag, stopuur, stopmin) + shift
+ if start > stop && start.hour >= 21 && stop.hour <= 7
+ stop += Dag
+ end
+ progdata['stop'] = stop
end
- progdata['stop'] = stop
+ rescue ArgumentError
+ STDERR.puts 'ArgumentError'
+ STDERR.puts jaar, maand, dag, stopuur, stopmin
+ next
end
date_stats(chan_id, progdata['start'])
if (b = entry['bijzonderheden'])
b.downcase.split(',').each do |bijz|
case bijz