Part 1 of 3. Dramatisation of the epic novel by Boris Pasternak. Growing up in Moscow with his uncle, aunt and cousin Tonya, Yury is captivated by a stunning young girl called ...
#Mon 29 Dec 2008
#
# Duration: 1hr 30 min |
# Expires in
# 22
# days
#
Victorian period drama with a murderous, pyschological twist.
#Sun 28 Dec 2008
#
# Duration: 2hr 00 min |
# Expires in
# 21
# days
#
This programme contains strong language and scenes of a sexual nature
#\s*(.+?)<\/span>};
$duration = $1 if $entry =~ m{Duration:\s*(.+?)\s+\|};
#$prog_type = $1 if $entry =~ m{medium=\"(\w+?)\"};
$longdesc = $1 if $entry =~ m{ (.+?)<\/p>}i;
$guidance = $1 if $entry =~ m{ITV Video Guidance<\/strong> \s*(.+?)[\W\s]*<\/p>};
#$player = $1 if $entry =~ m{ (.+?)<\/p>}i;
$episode = $available;
$duration = $1 if $xml =~ m{ (.+?)\s*<\/p>};
$guidance = $1 if $feedxml =~ m{(.+?)
};
# Fill in from cache if not got from metadata
$prog->{name} = $name || $prog->{name};
$prog->{episode} = $episode || $prog->{episode};
$prog->{type} = $prog_type || $prog->{type};
$prog->{duration} = $duration || $prog->{duration};
$prog->{channel} = $channel || $prog->{channel};
$prog->{available} = $available || $prog->{available};
$prog->{expiry} = $expiry || $prog->{expiry};
$prog->{versions} = $versions || $prog->{versions};
$prog->{guidance} = $guidance || $prog->{guidance};
$prog->{categories} = $categories || $prog->{categories};
$prog->{desc} = $longdesc || $prog->{desc};
$prog->{player} = $player;
$prog->{thumbnail} = $thumbnail || $prog->{thumbnail};
# just use the default modelist
$prog->{modes} = 'default: '.$prog->modelist();
return 0;
}
# Usage: Programme::itv->get_links( \%prog, 'itv' );
# Uses: \%prog
sub get_links {
shift; # ignore obj ref
my $progref = shift;
my $prog_type = shift;
my $itv_catchup_page_prefix = 'http://www.itv.com/CatchUp/Video/default.html?ViewType=5&Filter='; # $pid
my $xml;
my $res;
my %series_pid;
my %episode_pid;
main::logger "INFO: Getting itv Index Feeds\n";
# Setup User agent
my $ua = main::create_ua();
# Method
# http://www.itv.com/_data/xml/CatchUpData/CatchUp360/CatchUpMenu.xml (gets list of urls for each prog series) =>
# =>
# Download index feed
my $itv_index_feed_url = 'http://www.itv.com/_data/xml/CatchUpData/CatchUp360/CatchUpMenu.xml';
my $xmlindex = main::request_url_retry($ua, $itv_index_feed_url, 3, '.', "WARNING: Failed to get itv index from site\n");
$xmlindex =~ s/[\n\r]//g;
# This gives a list of programme series (sometimes episodes)
# Emmerdale
my @videoids = (split /{verbose};
for my $xml (@episode_data) {
$videoid = $1 if $xml =~ m{^(\d+?)".+$}i;
# Make sure we don't duplicate parsing an episode
next if $episode_pid{$videoid};
$episode_pid{$videoid} = 1;
my ( $name, $guidance, $channel, $episode, $desc, $pid, $available, $duration, $thumbnail );
$pid = $videoid;
$channel = 'ITV Player';
# Skip if this pid is a duplicate
if ( defined $progref->{$pid} ) {
main::logger "WARNING: '$pid, $progref->{$pid}->{name} - $progref->{$pid}->{episode}, $progref->{$pid}->{channel}' already exists (this channel = $channel)\n" if $opt->{verbose};
next;
}
$name = $1 if $feedxml =~ m{