Imported Upstream version 0.5.63 upstream
authorChris Butler <chrisb@debian.org>
Fri, 15 Jun 2012 20:40:08 +0000 (21:40 +0100)
committerChris Butler <chrisb@debian.org>
Fri, 15 Jun 2012 20:40:08 +0000 (21:40 +0100)
12 files changed:
ChangeLog
MANIFEST
Makefile.PL
README
doc/README.win32
filter/tv_augment_tz [new file with mode: 0755]
grab/combiner/tv_grab_combiner
grab/fi/tv_grab_fi.pl
grab/uk_rt/.cvsignore [deleted file]
grab/uk_rt/tv_grab_uk_rt
lib/XMLTV.pm.in
lib/exe_wrap.pl

index 5113904..68ab4a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,51 @@
+2012-06-14 07:01  rmeden
+
+       * MANIFEST: include missing file
+
+2012-06-14 06:59  rmeden
+
+       * Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
+         lib/exe_wrap.pl: prepare for 0.5.63 release
+
+2012-06-13 22:26  rmeden
+
+       * grab/combiner/tv_grab_combiner: emergency patch from Chris Butler
+
+2012-06-13 09:07  knowledgejunkie
+
+       * grab/fi/tv_grab_fi.pl: Perldoc fix
+
+2012-06-13 08:44  knowledgejunkie
+
+       * README: Updates for uk_rt
+
+2012-06-13 08:06  knowledgejunkie
+
+       * grab/uk_rt/tv_grab_uk_rt: Fix to supplement path for lineup files
+
+2012-06-13 07:36  knowledgejunkie
+
+       * MANIFEST: Remove uk_rt .cvsignore from the manifest
+
+2012-06-13 06:55  dekarl
+
+       * grab/uk_rt/.cvsignore: Do not ignore tv_grab_uk_rt any further.
+         It was a generated file, but now its the source file.
+
+2012-06-13 06:45  dekarl
+
+       * filter/tv_augment_tz, Makefile.PL, README: Add a new filter to
+         convert floating time to explicit time.
+
+2012-06-12 04:59  rmeden
+
+       * mkdist: update file for SF changes
+
+2012-06-12 04:39  rmeden
+
+       * Makefile.PL, README: remove broken grabbers. t_grab_dtv_la
+         tv_grab_ee tv_grab_es_miguiatv tv_grab_nl tv_grab_pt
+
 2012-06-10 17:10  rmeden
 
        * Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
index ff43749..cd4becd 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -56,6 +56,7 @@ doc/code/coding_standards
 doc/code/grabber_interface
 filter/.cvsignore
 filter/Grep.pm
+filter/tv_augment_tz
 filter/tv_cat
 filter/tv_extractinfo_ar
 filter/tv_extractinfo_en
@@ -218,7 +219,6 @@ grab/uk_bleb/icon_urls
 grab/uk_bleb/test.conf
 grab/uk_bleb/tv_grab_uk_bleb.PL
 grab/uk_bleb/tv_grab_uk_bleb.in
-grab/uk_rt/.cvsignore
 grab/uk_rt/channel_icons
 grab/uk_rt/channel_ids
 grab/uk_rt/channels_platforms 
index 235972d..0a5754d 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# $Id: Makefile.PL,v 1.400 2012/06/10 17:10:48 rmeden Exp $
+# $Id: Makefile.PL,v 1.403 2012/06/14 06:59:46 rmeden Exp $
 
 use ExtUtils::MakeMaker;
 use Config;
@@ -68,7 +68,7 @@ GetOptions('strict-deps'  => \$opt_strictdeps,  # be strict about dependencies
           );
 
 our $VERSION;
-$VERSION = '0.5.62';
+$VERSION = '0.5.63';
 
 # Fragment of Makefile text to give the directory where files should
 # be installed.  The extra '.' in the middle of the path is to avoid
@@ -107,7 +107,8 @@ our @docs;
 
 # Executables to be installed.
 my @exes
-  = qw(filter/tv_extractinfo_en
+  = qw(filter/tv_augment_tz
+       filter/tv_extractinfo_en
        filter/tv_extractinfo_ar
        filter/tv_grep
        filter/tv_sort
@@ -340,11 +341,12 @@ my @opt_components
                 'HTML::TreeBuilder' => 0 },
      },
 
-     { name => 'tv_grab_dtv_la',
-       blurb => 'Grabber for Latin America',
-       exes => [ 'grab/dtv_la/tv_grab_dtv_la' ],
-       prereqs => { 'HTML::TreeBuilder' => 0,
-                    'HTML::Form'    => 0 } },
+# rmeden 2012-06-11 broken since 2010
+#     { name => 'tv_grab_dtv_la',
+#       blurb => 'Grabber for Latin America',
+#       exes => [ 'grab/dtv_la/tv_grab_dtv_la' ],
+#       prereqs => { 'HTML::TreeBuilder' => 0,
+#                    'HTML::Form'    => 0 } },
 
      { name => 'tv_grab_uk_rt',
        blurb => 'Grabber for UK and Ireland (Radio Times)',
@@ -562,16 +564,18 @@ my @opt_components
        exes => [ 'grab/es_laguiatv/tv_grab_es_laguiatv' ],
        prereqs => { 'HTML::TreeBuilder' => 0 } },
 
-     { name => 'tv_grab_es_miguiatv',
-       blurb => 'Alternative grabber for Spain using miguiatv.com',
-       exes => [ 'grab/es_miguiatv/tv_grab_es_miguiatv' ],
-       prereqs => { 'HTML::TreeBuilder' => 0 } },#
-
-     { name => 'tv_grab_nl',
-       blurb => 'Grabber for the Netherlands',
-       exes => [ 'grab/nl/tv_grab_nl' ],
-       prereqs => { 'HTML::TreeBuilder' => 0 },
-     },
+# rmeden 2012-06-11 broken since 2012-03-29
+#     { name => 'tv_grab_es_miguiatv',
+#       blurb => 'Alternative grabber for Spain using miguiatv.com',
+#       exes => [ 'grab/es_miguiatv/tv_grab_es_miguiatv' ],
+#       prereqs => { 'HTML::TreeBuilder' => 0 } },#
+
+# rmeden 2012-06-11 hasn't worked since 2012-03-06 community switch to python
+#            { name => 'tv_grab_nl',
+#       blurb => 'Grabber for the Netherlands',
+#       exes => [ 'grab/nl/tv_grab_nl' ],
+#       prereqs => { 'HTML::TreeBuilder' => 0 },
+#     },
 
 # 2008-07-12 - removed by rmeden, not getting programs for a while.
 #
@@ -722,12 +726,13 @@ my @opt_components
 #       prereqs => { 'HTML::Entities' => 1.27 },
 #     },
 
-     { name => 'tv_grab_pt',
-       blurb => 'Grabber for Portugal',
-       exes => [ 'grab/pt/tv_grab_pt' ],
-       prereqs => { 'HTML::TreeBuilder' => 0,
-                  }
-     },
+# rmeden 2012-06-11 hasn't worked since 2012-01-30
+#     { name => 'tv_grab_pt',
+#       blurb => 'Grabber for Portugal',
+#       exes => [ 'grab/pt/tv_grab_pt' ],
+#       prereqs => { 'HTML::TreeBuilder' => 0,
+#                  }
+#     },
 
      { name => 'tv_grab_pt_meo',
        blurb => 'Grabber for Portugal (MEO)',
@@ -780,10 +785,11 @@ my @opt_components
        type => 'run',
      },
 
-     { name => 'tv_grab_ee',
-       blurb => 'Grabber for Estonia',
-       exes => [ 'grab/ee/tv_grab_ee' ],
-       prereqs => { 'LWP::Simple' => 0 } },
+# rmeden 2012-06-11 broken since 2011-11-25
+#     { name => 'tv_grab_ee',
+#       blurb => 'Grabber for Estonia',
+#       exes => [ 'grab/ee/tv_grab_ee' ],
+#       prereqs => { 'LWP::Simple' => 0 } },
 
 # rmeden 2011-06-12 not working
 #    { name => 'tv_grab_re',
diff --git a/README b/README
index 8b005dc..fb21094 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-XMLTV 0.5.62
+XMLTV 0.5.63
 
 Gather television listings, process them and organize your viewing.
 XMLTV is a file format for storing TV listings, defined in xmltv.dtd.
@@ -10,10 +10,19 @@ and xmltv.dtd for documentation on the file format.
 Progress is being made for a 1.0 release.  We've really been stable for
 a while I and consider it well overdue. 
 
-* Changes in this release (0.5.62)
-
+* Changes in this release (0.5.63) 
+    tv_grab_uk_rt - fix bug in 0.5.62 release
+    
+    Removed broken grabbers
+       tv_grab_dtv_la, tv_grab_ee, tv_grab_es_miguiatv
+       tv_grab_nl, tv_grab_pt
+    New filter: tv_augment_tz to convert floating time to explicit time
+    tv_grab_uk_rt: Addition of lineups support for easier configuration
+                   Improved unicode handling
+                   6-7x performance increase with changed date/time handling
+
+* Changes in previous (short lived) release (0.5.62)
        xmltv.dtd: Add a lang attribute to review elements
-       tv_grab_uk_rt  improved unicode handling
        tv_grab_pt_meo and tv_grab_eu-epgdata added back to xmltv.exe
     lots of grabber updates.  See Changelog for details
 
@@ -129,5 +138,5 @@ project 'XMLTV'.  There are some mailing lists:
 You ought to subscribe to the announce list at least.  Contact the
 users list with most problems.
 
--- Robert Eden, rmeden@yahoo.com, 2012-06-10
-$Id: README,v 1.167 2012/06/10 17:10:48 rmeden Exp $
+-- Robert Eden, rmeden@yahoo.com, 2012-06-14
+$Id: README,v 1.171 2012/06/14 06:59:46 rmeden Exp $
index 6cf3816..5ea3e63 100644 (file)
@@ -1,4 +1,4 @@
-XMLTV 0.5.62, Windows binary release
+XMLTV 0.5.63, Windows binary release
 
 Gather television listings, process them and organize your viewing.
 XMLTV is a file format for storing TV listings, defined in xmltv.dtd.
@@ -28,7 +28,16 @@ the environment variable HOME to a path without spaces (e.g. c:\home).
 Progress is being made for a 1.0 release.  We've really been stable for
 a while I and consider it well overdue. 
 
-* Changes in this release (0.5.62)
+* Changes in this release (0.5.63)
+    Removed broken grabbers
+        tv_grab_dtv_la, tv_grab_ee, tv_grab_es_miguiatv
+        tv_grab_nl, tv_grab_pt
+    New filter: tv_augment_tz to convert floating time to explicit time
+    tv_grab_uk_rt: Addition of lineups support for easier configuration
+                   Improved unicode handling
+                   6-7x performance increase with changed date/time handling
+
+* Changes in previous release (0.5.62)
        xmltv.dtd: Add a lang attribute to review elements
        tv_grab_uk_rt  improved unicode handling
        tv_grab_pt_meo and tv_grab_eu-epgdata added back to xmltv.exe
@@ -121,5 +130,5 @@ Sourceforge also hosts the following mailing lists
     xmltv-users    - how to use XMLTV
     xmltv-devel    - detailed discussions among developers
 
--- Robert Eden, rmeden@yahoo.com, 2012-06-10
-$Id: README.win32,v 1.96 2012/06/10 17:10:48 rmeden Exp $
+-- Robert Eden, rmeden@yahoo.com, 2012-06-14
+$Id: README.win32,v 1.97 2012/06/14 06:59:46 rmeden Exp $
diff --git a/filter/tv_augment_tz b/filter/tv_augment_tz
new file mode 100755 (executable)
index 0000000..01e199a
--- /dev/null
@@ -0,0 +1,130 @@
+#!/usr/bin/perl
+
+=pod
+
+=head1 NAME
+
+tv_augment_tz - Convert floating time to explicit time.
+
+=head1 SYNOPSIS
+
+tv_augment_tz [--help] [--output FILE] [--tz TIMEZONE] [FILE...]
+
+=head1 DESCRIPTION
+
+Read XMLTV data and augment all times with the correct offset. Times that are
+already explicit will be converted to TIMEZONE as well.
+
+B<--output FILE> write to FILE rather than standard output
+
+B<--tz TIMEZONE> use TIMEZONE (e.g. Europe/Berlin) rather then the default of UTC
+
+=head1 SEE ALSO
+
+L<xmltv(5)>.
+
+=head1 AUTHOR
+
+Karl Dietz, <dekarl@spaetfruehstuecken.org>
+
+=head1 BUGS
+
+Guessing the right time when local time is abigous doesn't work properly.
+
+=cut
+
+use strict;
+use warnings;
+
+use XMLTV::Version '$Id: tv_augment_tz,v 1.1 2012/06/13 06:45:08 dekarl Exp $';
+
+use Encode; # used to convert 'perl strings' into 'utf-8 strings'
+use DateTime;
+use Getopt::Long;
+use XML::LibXML;
+
+use XMLTV;
+use XMLTV::Usage <<END
+$0: Convert floating local time to explicit local time.
+usage: $0 [--help] [--output FILE] [--tz TIMEZONE] [FILE...]
+END
+;
+
+
+my ($opt_help, $opt_output, $opt_tz);
+GetOptions('help' => \$opt_help,
+           'output=s' => \$opt_output,
+          'tz=s' => \$opt_tz
+)
+  or usage(0);
+usage(1) if $opt_help;
+@ARGV = ('-') if not @ARGV;
+
+if (!defined ($opt_tz)) {
+  $opt_tz = 'UTC';
+}
+
+sub parse_date ( $ ) {
+  my $raw = shift;
+  my ($datetime, $tz) = split (/\s/, $raw);
+
+  my ($year, $month, $day, $hour, $minute, $second) = (0, 0, 0, 0, 0, 0);
+
+  if (length ($datetime) == 4+2+2+2+2+2) {
+    ($year, $month, $day, $hour, $minute, $second) = ($datetime =~ m|(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)|);
+  } elsif (length ($datetime) == 4+2+2+2+2) {
+    ($year, $month, $day, $hour, $minute) = ($datetime =~ m|(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)|);
+  } elsif (length ($datetime) == 4+2+2+2) {
+    ($year, $month, $day, $hour, $minute) = ($datetime =~ m|(\d\d\d\d)(\d\d)(\d\d)(\d\d)|);
+  } elsif (length ($datetime) == 4+2+2) {
+    ($year, $month, $day, $hour, $minute) = ($datetime =~ m|(\d\d\d\d)(\d\d)(\d\d)|);
+  } elsif (length ($datetime) == 4+2) {
+    ($year, $month, $day, $hour, $minute) = ($datetime =~ m|(\d\d\d\d)(\d\d)|);
+  } elsif (length ($datetime) == 4) {
+    ($year, $month, $day, $hour, $minute) = ($datetime =~ m|(\d\d\d\d)|);
+  }
+
+  my $dt = DateTime->new (
+    year      => $year,
+    month     => $month,
+    day       => $day,
+    hour      => $hour,
+    minute    => $minute,
+    second    => $second
+  );
+
+  if ($tz) {
+    $dt->set_time_zone ($tz);
+  }
+
+  return $dt;
+}
+
+# load XML
+if ($ARGV[0]) {
+  open *STDIN, '<', $ARGV[0];
+}
+binmode *STDIN; # drop all PerlIO layers possibly created by a use open pragma
+my $doc = XML::LibXML->load_xml(IO => *STDIN);
+
+my $starttimes = $doc->findnodes ('/tv/programme[@start]');
+foreach my $node ($starttimes->get_nodelist ()) {
+  my $time = $node->getAttribute ('start');
+  $time = parse_date ($time)->set_time_zone ($opt_tz)->strftime ('%Y%m%d%H%M%S %z');
+  $node->setAttribute('start', $time);
+}
+
+my $stoptimes = $doc->findnodes ('/tv/programme[@stop]');
+foreach my $node ($stoptimes->get_nodelist ()) {
+  my $time = $node->getAttribute ('stop');
+  $time = parse_date ($time)->set_time_zone ($opt_tz)->strftime ('%Y%m%d%H%M%S %z');
+  $node->setAttribute('stop', $time);
+}
+
+# save modified XML
+if ($opt_output) {
+  open *STDOUT, '>', $opt_output;
+}
+binmode *STDOUT; # as above
+$doc->toFH(*STDOUT);
+
index 6124478..aaa8c0e 100755 (executable)
@@ -74,7 +74,7 @@ Mattias Holmlund, mattias -at- holmlund -dot- se.
 
 use strict;
 
-use XMLTV::Version '$Id: tv_grab_combiner,v 1.2 2006/12/29 13:41:40 mattiasholmlund Exp $';
+use XMLTV::Version '$Id: tv_grab_combiner,v 1.3 2012/06/13 22:26:02 rmeden Exp $';
 use XMLTV::Capabilities qw/baseline manualconfig/;
 use XMLTV::Description "Combine data from several other grabbers";
 use XMLTV::Usage << "END";
@@ -266,8 +266,9 @@ sub concatenate {
     $last_chan = $chan;
   }
 
-  my $last_prog = $root->findnodes( 'programme[last()]' )->[0]
-    or return;
+  my $last_prog;
+  $last_prog = $root->findnodes( 'programme[last()]' )->[0]
+    or $last_prog = $last_chan;
 
   foreach my $prog ( $t2->findnodes( '//programme' ) ) {
     $root->insertAfter( $prog, $last_prog );
index 638e256..b68b546 100755 (executable)
@@ -8,7 +8,7 @@ use 5.008; # we process Unicode texts
 use strict;
 use warnings;
 
-use constant VERSION => '$Id: tv_grab_fi.pl,v 2.02 2012/02/11 20:31:39 stefanb2 Exp $ ';
+use constant VERSION => '$Id: tv_grab_fi.pl,v 2.03 2012/06/13 09:07:52 knowledgejunkie Exp $ ';
 
 ###############################################################################
 # INSERT: SOURCES
@@ -577,8 +577,6 @@ with the string C<TO>. The strings must be enclosed in single quotes (C<'>) or
 double quotes (C<">). The title mapping occurs before the C<series> command
 processing.
 
-=back
-
 =item B<title strip parental level>
 
 At the beginning of 2012 some programme descriptions started to include
diff --git a/grab/uk_rt/.cvsignore b/grab/uk_rt/.cvsignore
deleted file mode 100644 (file)
index 952df25..0000000
+++ /dev/null
@@ -1 +0,0 @@
-tv_grab_uk_rt
index 134b774..20725c3 100755 (executable)
@@ -42,7 +42,7 @@ my $grabber_name = 'tv_grab_uk_rt';
 my $grabber_spc  = '             ';
 
 # Grabber version
-my $grabber_cvs_id = '$Id: tv_grab_uk_rt,v 1.27 2012/06/10 11:31:39 knowledgejunkie Exp $';
+my $grabber_cvs_id = '$Id: tv_grab_uk_rt,v 1.28 2012/06/13 08:06:58 knowledgejunkie Exp $';
 my $grabber_version;
 
 if ($grabber_cvs_id =~ m!\$Id: [^,]+,v (\S+) ([0-9/: -]+)!) {
@@ -4312,7 +4312,7 @@ sub get_lineup {
 sub parse_lineup_xml_doc {
 
     my $file = shift;
-    my $string = GetSupplement("$grabber_name", "lineups/$file");
+    my $string = GetSupplement("$grabber_name/lineups", "$file");
     die "Error: XML lineup document 'lineups/$file' is missing or empty, cannot continue"
             if (! defined $string || $string eq '');
 
index 3c5b0c7..f92c8b1 100644 (file)
@@ -1,5 +1,5 @@
 # -*- perl -*-
-# $Id: XMLTV.pm.in,v 1.153 2012/06/10 17:10:48 rmeden Exp $
+# $Id: XMLTV.pm.in,v 1.154 2012/06/14 06:59:46 rmeden Exp $
 package XMLTV;
 
 use strict;
@@ -12,7 +12,7 @@ our @EXPORT_OK = qw(read_data parse parsefile parsefiles write_data
 # the xmltv package as a whole.  This number should be checked by the
 # mkdist tool.
 #
-our $VERSION = '0.5.62';
+our $VERSION = '0.5.63';
 
 # Work around changing behaviour of XML::Twig.  On some systems (like
 # mine) it always returns UTF-8 data unless KeepEncoding is specified.
index a2e8eef..d486a43 100755 (executable)
@@ -1,6 +1,6 @@
 #!perl -w
 #
-# $Id: exe_wrap.pl,v 1.92 2012/06/10 17:10:48 rmeden Exp $
+# $Id: exe_wrap.pl,v 1.93 2012/06/14 06:59:46 rmeden Exp $
 # This is a quick XMLTV shell routing to use with the windows exe
 #
 # A single EXE is needed to allow sharing of modules and dlls of all the
@@ -69,7 +69,7 @@ print STDERR "Timezone is $ENV{TZ}\n" unless $opt_quiet;
 $cmd = shift || "";
 
 # --version (and abbreviations thereof)
-my $VERSION = '0.5.62';
+my $VERSION = '0.5.63';
 if (index('--version', $cmd) == 0 and length $cmd >= 3) {
     print "xmltv $VERSION\n";
     exit;