Plagger
view release on metacpan or search on metacpan
lib/Plagger/Plugin/CustomFeed/Script.pm view on Meta::CPAN
$script =~ s!^//!!;
$script = URI::Escape::uri_unescape($script); # to support script://python.exe foo.py
$context->log(debug => "Executing '$script'");
my $output = qx($script);
if ($?) {
$context->log(error => "Error happend while executing '$script': $?");
return;
}
# TODO: check BOM?
if ($output =~ /^<\?xml/) {
$context->log(debug => "Looks like output is RSS/Atom");
$self->SUPER::handle_feed($args->{feed}->url, \$output, $args->{feed});
} else {
eval {
local $YAML::Syck::ImplicitUnicode = 1;
my $feed = YAML::Syck::Load($output);
$context->log(debug => "Looks like output is YAML");
local $self->{conf} = $feed;
$self->Plagger::Plugin::CustomFeed::Debug::aggregate($context, $args);
( run in 0.317 second using v1.01-cache-2.11-cpan-e9daa2b36ef )