removed tv_grab_fi patch, now released upstream
authorChris Butler <chrisb@debian.org>
Fri, 19 Aug 2011 21:53:30 +0000 (22:53 +0100)
committerChris Butler <chrisb@debian.org>
Fri, 19 Aug 2011 21:53:30 +0000 (22:53 +0100)
debian/changelog
debian/patches/grab_fi_cvs_1.58 [deleted file]
debian/patches/series

index e820bf6..5314915 100644 (file)
@@ -1,6 +1,7 @@
 xmltv (0.5.61-1) UNRELEASED; urgency=low
 
   * New upstream release
+       - removed tv_grab_fi patch, now released upstream 
 
  -- Chris Butler <chrisb@debian.org>  Fri, 19 Aug 2011 22:52:12 +0100
 
diff --git a/debian/patches/grab_fi_cvs_1.58 b/debian/patches/grab_fi_cvs_1.58
deleted file mode 100644 (file)
index 003ec3f..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
---- a/grab/fi/tv_grab_fi
-+++ b/grab/fi/tv_grab_fi
-@@ -27,7 +27,7 @@
- =head1 DESCRIPTION
- Output TV listings for several channels available in Finland.
--The data comes from www.telkku.com. The grabber relies on parsing HTML 
-+The data comes from www.telkku.com. The grabber relies on parsing HTML
- so it might stop working at any time.
- First run B<tv_grab_fi --configure> to choose, which channels you want
-@@ -86,14 +86,14 @@
- # initializations
- use strict;
--use XMLTV::Version '$Id: tv_grab_fi,v 1.56 2010/09/07 00:59:26 knowledgejunkie Exp $ ';
-+use XMLTV::Version '$Id: tv_grab_fi,v 1.58 2010/11/30 18:22:57 va1210 Exp $ ';
- use XMLTV::Capabilities qw/baseline manualconfig cache/;
- use XMLTV::Description 'Finland';
-+use Encode qw(decode_utf8);
- use Getopt::Long;
- use Date::Manip;
- use HTML::Entities;
- use HTML::TreeBuilder;
--use IO::File;
- use XMLTV;
- use XMLTV::Memoize;
-@@ -228,13 +228,13 @@
- die if $mode ne 'grab' and $mode ne 'list-channels';
- # Options to be used for XMLTV::Writer.
--my %w_args;
-+my %w_args = (
-+            encoding => 'UTF-8',
-+           );       ;
- if (defined $opt_output) {
--    my $fh = new IO::File(">$opt_output");
--    die "cannot write to $opt_output: $!" if not defined $fh;
--    $w_args{OUTPUT} = $fh;
-+    open($w_args{OUTPUT}, ">:utf8", $opt_output)
-+      or die "cannot write to $opt_output: $!";
- }
--$w_args{encoding} = 'ISO-8859-1';
- my $writer = new XMLTV::Writer(%w_args);
- $writer->start($HEAD);
-@@ -256,6 +256,10 @@
- foreach (@config_lines) {
-     ++ $line_num;
-     next if not defined;
-+
-+    # XMLTV::Config::read_lines doesn't allow us to set the encoding
-+    $_ = decode_utf8($_);
-+
-     if (/^channel:?\s+(\S+)\s+([^\#]+)/) {
-       my $ch_did = $1;
-       my $ch_name = $2;
-@@ -305,7 +309,7 @@
- # they could be separate stages.
- #
- my $bar = new XMLTV::ProgressBar( {
--   name => 'getting listings', 
-+   name => 'getting listings',
-    count => scalar @to_get,
-  } ) if not $opt_quiet;
- foreach (@to_get) {
-@@ -334,18 +338,6 @@
-     }
- }
--my $warned_bad_chars;
--sub tidy( $ ) {
--    for (my $tmp = shift) {
--      tr/\t\205/ /d;
--      if (s/([^\012\015\040-\176\240-\377]+)//g) {
--          warn "removing bad characters: '$1'"
--            unless ($warned_bad_chars++ or $opt_quiet);
--      }
--      return $_;
--    }
--}
--
- ####
- # process_table: fetch a URL and process it
- #
-@@ -359,9 +351,9 @@
- sub process_table {
-     my ($date, $ch_xmltv_id, $ch_their_id) = @_;
-     my $today = UnixDate($date, '%Y%m%d');
--    my $url = "$SITE/telkku?tila=knvt&kan=$ch_their_id&p=$today";
-+    my $url = "$SITE/channel/list/$ch_their_id/$today";
-     t "getting URL: $url";
--    my $tree = get_nice_tree $url, \&tidy;
-+    my $tree = get_nice_tree($url, \&decode_utf8);
-     local $SIG{__WARN__} = sub {
-       warn "$url: $_[0]";
-     };
-@@ -423,28 +415,28 @@
-       my ($stop_base, $stop_tz) = @{date_to_local($stop, $TZ)};
-       t 'converted back to Finnish: ' . d [ $stop_base, $stop_tz ];
-       $prog{stop}=UnixDate($stop_base, '%q') . " $stop_tz";
--    } 
-+    }
-     # Check for series.
-     #
-     # Check 1: episode name of series in title.
--    # If title contains a colon (:), check to see if the string on the 
--    # left-hand side of the colon has been defined as a series in the 
-+    # If title contains a colon (:), check to see if the string on the
-+    # left-hand side of the colon has been defined as a series in the
-     # conf-file. If it has, assume that the string on the left-hand side
-     # of the colon is the name of the series, and the string on the
--    # right-hand side is the name of the episode. For example, if the 
-+    # right-hand side is the name of the episode. For example, if the
-     # following line has been defined in the tv_grab_fi.conf-file:
--    # "series title Prisma", and the title of the program is 
--    # "Prisma: Totuus tappajadinosauruksista", then the script will assume 
--    # that the title of the program is actually "Prisma", and the episode 
-+    # "series title Prisma", and the title of the program is
-+    # "Prisma: Totuus tappajadinosauruksista", then the script will assume
-+    # that the title of the program is actually "Prisma", and the episode
-     # name/sub-title is "Totuus tappajadinosauruksista".
-     if (($cur->{title} =~ m/([^:]+):\s*(.*)/) &&
-       (exists $title{$1})) {
-       my $new_title = $1;
-       my $episode = $2;
--      t "series $new_title, episode title $episode"; 
-+      t "series $new_title, episode title $episode";
-       $prog{title}=[ [ $new_title, $LANG ] ];
--      $prog{'sub-title'} = [ [ $episode, $LANG ] ];   
-+      $prog{'sub-title'} = [ [ $episode, $LANG ] ];
-     }
-     else {
-       $prog{title}=[ [ $cur->{title}, $LANG ] ];
-@@ -459,14 +451,14 @@
-     # and the description of the program is "Pingviinin paluu. Amerikkalainen
-     # animaatiosarja. Outojen ryöstöjen sarja johdattaa Batmanin Pingviinin
-     # jäljille.", then the script will assume that the episode name/sub-title
--    # is "Pingviinin paluu", and that the description is actually 
--    # "Amerikkalainen animaatiosarja. Outojen ryöstöjen sarja johdattaa 
-+    # is "Pingviinin paluu", and that the description is actually
-+    # "Amerikkalainen animaatiosarja. Outojen ryöstöjen sarja johdattaa
-     # Batmanin Pingviinin jäljille."
-     if ((defined $cur->{desc}) &&
-       (exists $description{$cur->{title}})   &&
-       ($cur->{desc} =~ s/^\s*([^.]+)\.\s*//)) {
-       my $episode = $1;
--      t "series $cur->{title}, episode title $episode"; 
-+      t "series $cur->{title}, episode title $episode";
-       $prog{'sub-title'} = [ [ $episode, $LANG ] ];
-       # Make sure the description is not left empty
-@@ -491,30 +483,17 @@
- }
- #####
--# All program info is contained within a table cell with the
--# following properties:
--#
--# <td style="height: 500px; padding:5px 15px 5px 15px;" valign="top">
--#
--# For each program there is a entry that looks as follows:
--#
--# <b>hh:mm Program Name</b><br />Description<br /><br />
--# 
--# After processing the html with get_nice_tree, the space and slash in the 
--# <br /> tags sometimes fall off (with TreeBuilder v. 3.21 and below).
--# Also, all special characters (e.g. åäöÅÄÖ) are replaced with their 
--# corresponding html special characters. This means that the following 
--# program element
--#
--# <b>12.10 Tänään otsikoissa</b><br />Aamu-tv:n ajankohtaiset aiheet koosteena.<br /><br />
--# 
--# ends up looking like this (with TreeBuilder v. 3.21 and below):
-+# All program info is contained within a unsorted list with class "programList"
- #
--# <b>12.10 T&auml;n&auml;&auml;n otsikoissa</b><br>Aamu-tv:n ajankohtaiset aiheet koosteena.<br><br>
--#
--# or with TreeBuilder v. 3.22 and above:
--#
--# <b>12.10 T&auml;n&auml;&auml;n otsikoissa</b><br />Aamu-tv:n ajankohtaiset aiheet koosteena.<br /><br />
-+# </div>
-+#  <ul class="programList">
-+#   <li>
-+#    <span class="programDate"><a href="http://www.telkku.com/program/show/2010112621451">23:45&nbsp;Uutisikkuna</a></span><br />
-+#    <span class="programDescription"></span>
-+#   </li>
-+#   ...
-+#  </ul>
-+#  <div ...
- #
- sub get_program_data {
-     my $tree = shift;
-@@ -522,17 +501,18 @@
-     my @data;
-     # Dump the html-tree to a string for matching
-     my $html = $tree->as_HTML;
--    while ($html =~ m/popup\(this\.href\)">([0-9]{2})\.([0-9]{2}) (.+?)<\/a><br( \/)?>(.*?)<br( \/)?><br( \/)?>/g) {
--      # Use decode_entities() to convert html characters 
-+    while ($html =~ m,<li><span class="programDate"><a href="$SITE/program/show/\d+">(\d{2}:\d{2})&nbsp;(.+?)</a></span><br(?: \/)?><span class="programDescription">(.*?)</span>,go) {
-+      # Use decode_entities() to convert html characters
-       # to ascii (e.g &auml; to ä)
--      my %keys = (time => $1 . ':' . $2,
--                  title => decode_entities($3),
--                  desc => decode_entities($5),
--                  );
-+      my %keys = (
-+                  time  => $1,
-+                  title => decode_entities($2),
-+                  desc  => decode_entities($3),
-+                 );
-       my %h;
-       foreach my $k (keys %keys) {
-           my $v = $keys{$k};
--          # Only record entry if it isn't empty (actually time 
-+          # Only record entry if it isn't empty (actually time
-           # and title are required, but we don't check that.)
-           if (length ($v) > 0) {
-               t "got a result from sub for $k: $v";
-@@ -542,6 +522,11 @@
-       t 'after running all subs, got data: ' . d \%h;
-       push @data, \%h;
-     }
-+
-+    # Drop the last entry of the day. The next day starts with the same
-+    # program and we don't want to have duplicate entries
-+    pop(@data) if @data;
-+
-     t 'get_program_data() RETURNING ' . d \@data;
-     return @data;
- }
-@@ -549,16 +534,13 @@
- # get channel listing
- sub get_channels {
-     my $bar = new XMLTV::ProgressBar({
--       name => 'getting list of channels', 
-+       name => 'getting list of channels',
-        count => 1,
-     } ) if not $opt_quiet;
--    my %channels;
--
--    # Channels are retrieved from the channel "Suosikkikanava" (149),
--    # to avoid listing it as a channel.
--    my $url="$SITE/telkku?tila=knvt&kan=149";
--    my $tree = get_nice_tree $url;
-+    my $url="$SITE/channel";
-+    t "getting URL: $url";
-+    my $tree = get_nice_tree($url, \&decode_utf8);
-     # FIXME commonize this
-     local $SIG{__WARN__} = sub {
-@@ -568,19 +550,36 @@
-       die "$url: $_[0]";
-     };
--    # All channels are listed after the tag <h4>A-Z</h4> within <li>-tags
-+    # All channels are listed in the left side bar within <li> tags
-+    #
-+    # <div id="channelContainer">
-+    #  <div id="channelList">
-+    #   <div id="channelListHeader">
-+    #  <div id="channelListHeaderRight"></div>
-+    #    <div id="channelListHeaderLeft"></div>
-+    #    Kaikki kanavat
-+    #   </div>
-+    #   <ul>
-+    #    <li><a href="http://telkku.com/channel/list/1/20101127">TV1</a></li>
-+    #    ...
-+    #   </ul>
-+    #  </div>
-+    #  <div id="channelContent">
-     my $html = $tree->as_HTML;
--    $html =~ /<h3>A-Z<\/h3>\s*<ul>(.*)<\/ul>/;
--    my $trunc_html = $1;
--    while ($trunc_html =~ m/<li><a href=\"telkku\?tila=knvt&amp;kan=([0-9]+)\">(.+?)<\/a>/g) {
--      my $channel_id = $1;
--      my $channel_name = $2;
--      $channels{$channel_id} = $channel_name;
--      push @ch_all, { 'display-name' => [ [ $channel_name, $LANG ] ],
--                      'id' => $channel_id };    
--    }
-+    my($trunc_html) = $html =~ m,<div id="channelContainer">.*</div><ul>(.*)</ul></div><div id="channelContent">,;
-+    die "can't find channel information" unless defined $trunc_html;
-+
-+    my %channels = ($trunc_html =~ m,<li><a href="$SITE/channel/list/(\d+)/\d+">(.+?)</a>,g);
-     die "no channels could be found" if not keys %channels;
-+
-+    @ch_all = map { {
-+                    'display-name' => [ [ $channels{$_}, $LANG ] ],
-+                    id             => $_,
-+                  } }
-+              sort { $a <=> $b }
-+            keys %channels;
-+
-     update $bar if not $opt_quiet;
-     $bar->finish() if not $opt_quiet;
-     return %channels;
index 11b4b5e..63cfc92 100644 (file)
@@ -1,3 +1,2 @@
 it_dvb_linux_warning
 11_makefile_pl_debian_changes.diff
-grab_fi_cvs_1.58