xmltv

 view release on metacpan or  search on metacpan

filter/tv_extractinfo_en  view on Meta::CPAN

sub special_new_series( $ );
sub special_year( $ );
sub special_tv_movie( $ );
sub special_teletext_subtitles( $ );
sub special_useless( $ );
sub check_time_fits( $$ );
sub cst( $ );
sub no_shared_scalars( $ );
sub has( $$@ );
sub hasp( $$$ );
sub pd( $ );
sub ud( $ );
sub nd( $ );
sub bn( $ );
sub munge( $ );
sub multipart_split_desc( $$ );
sub clocks_poss( $ );
sub time12to24( $ );
sub add( $$$ );
sub scrub_empty( @ );
sub set_stop_time( $$ );
sub dump_pseudo_programme( $ );

# --no-create-sub-titles is an undocumented switch, affecting the

filter/tv_extractinfo_en  view on Meta::CPAN


####
# Language selection stuff.
#
my $LANG = 'en';

# bn(): wrapper for XMLTV::best_name().  Does some memoizing (so
# assumes that the languages in a list of pairs will not change).
#
my %bn;
sub bn( $ ) {
    my $pairs = shift;
    return undef if not defined $pairs;
    die 'bn(): expected ref to list of [text,lang] pairs'
      if ref $pairs ne 'ARRAY';
    for ($bn{$pairs}) {
	return $_ if defined;
	foreach (@$pairs) {
	    carp "found bad [text,lang] pair: $_" if ref ne 'ARRAY';
	}
	return $_ = XMLTV::best_name([ $LANG ], $pairs);

filter/tv_extractinfo_en  view on Meta::CPAN

	}
    }
}


####
# Date handling stuff.
#
# This loses any information on partial dates (FIXME).
#
sub pd( $ ) {
    for ($_[0]) {
	return undef if not defined;
	return parse_date($_);
    }
}
sub ud( $ ) {
    for ($_[0]) {
	return undef if not defined;
	return UnixDate($_, '%q');
    }
}
sub nd( $ ) {
    for ($_[0]) {
	return undef if not defined;
	return ud(pd($_));
    }
}

# Memoize some subroutines if possible.  FIXME commonize to
# XMLTV::Memoize.
#
eval { require Memoize };

filter/tv_remove_some_overlapping  view on Meta::CPAN

;

# Memoize some subroutines if possible
eval { require Memoize };
unless ($@) {
    foreach (qw/Date_Cmp pd interesting/) {
	Memoize::memoize($_) or die "cannot memoize $_: $!";
    }
}

sub pd( $ );
sub exists_partition( $$$$$ );
sub interesting( $ );
sub should_write( $ );

# Keys of a programme hash which don't indicate any data we're
# especially concerned to preserve.  Poke around inside XMLTV.pm to
# find the list of attributes.
#
my %boring_programme_key = (title => 1);
$boring_programme_key{$_} = 1

filter/tv_remove_some_overlapping  view on Meta::CPAN

	return not $min_length;
    }
    elsif ($cmp > 0) {
	t 'stop < start, so no path';
	return 0;
    }
    else { die }
}

# Lift parse_date() to handle undef.
sub pd( $ ) {
    for ($_[0]) {
	return undef if not defined;
	return parse_date($_);
    }
}

exit 1;

filter/tv_sort  view on Meta::CPAN

    #
}

# Prototype declarations
sub programme_cmp();
sub chan_cmp( $$ );
sub clumpidx_cmp( $$ );
sub overlap( $$ );
sub add_stop( $ );
sub programme_eq( $$ );
sub pd( $ );

my ($opt_help, $opt_output, $opt_by_channel);
GetOptions('help' => \$opt_help, 'output=s' => \$opt_output,
	   'by-channel' => \$opt_by_channel)
  or usage(0);
usage(1) if $opt_help;
@ARGV = ('-') if not @ARGV;
my ($encoding, $credits, $channels, $progs) = @{XMLTV::parsefiles(@ARGV)};
my @progs = @$progs;

filter/tv_sort  view on Meta::CPAN

    goto PASS if $changed;
}

sub programme_eq( $$ ) {
#    local $Log::TraceMessages::On = 1;
    t 'comparing programmes ' . d($_[0]) . ' and ' . d($_[1]);
    return freeze($_[0]) eq freeze($_[1]);
}

# Lift parse_date() to handle undef.
sub pd( $ ) {
    for ($_[0]) {
	return undef if not defined;
	return parse_date($_);
    }
}

grab/Grab_XML.pm  view on Meta::CPAN


=item XMLTV::Grab_XML->go()

The main program.  Parse command line options, fetch and write data.

Most of the options are fairly self-explanatory but this routine also
calls the XMLTV::Memoize module to look for a B<--cache> argument.
The functions memoized are those given by the C<cachables()> method.

=cut
sub go( $ ) {
    my $pkg = shift;
    XMLTV::Memoize::check_argv($pkg->cachables());
    my ($opt_days,
	$opt_help,
	$opt_output,
	$opt_offset,
	$opt_quiet,
	$opt_configure,
	$opt_config_file,
       );

lib/Clumps.pm  view on Meta::CPAN

    if ($rel->{$a}) {
	return [ @{$rel->{$a}} ]; # make a copy
    }
    else {
	return [];
    }
}


# Private.  Wrappers for Date::Manip and XMLTV::Date;
sub pd( $ ) {
    for ($_[0]) {
	return undef if not defined;
	return parse_date($_);
    }
}


# Make a relation grouping together programmes sharing a clump.
#
# Parameter: reference to list of programmes



( run in 2.532 seconds using v1.01-cache-2.11-cpan-4ab04211f4c )