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