App-jupiter
view release on metacpan or search on metacpan
script/jupiter view on Meta::CPAN
if ($command eq 'update') {
update_cache(@ARGV);
} elsif ($command eq 'html') {
make_html(@ARGV);
} else {
my $parser = Pod::Simple::Text->new();
$parser->parse_file($0);
}
}
sub update_cache {
my ($feeds, $files) = read_opml(@_);
make_directories($feeds);
load_feed_metadata($feeds, $files);
my $ua = Mojo::UserAgent->new->with_roles('+Queued')
->max_redirects(3)
->max_active(5);
make_promises($ua, $feeds);
fetch_feeds($feeds);
save_feed_metadata($feeds, $files);
cleanup_cache($feeds);
script/jupiter view on Meta::CPAN
} else {
# or no entry found with a modification date equal or bigger than the date given
for my $entry (@$entries) {
return if DateTime->compare($entry->{date}, $date) >= 0;
}
$feed->{message} = "No entry newer than 90 days";
$feed->{code} = 206; # partial content
}
}
sub updated {
my $node = shift;
return unless $node;
my @nodes = $xpc->findnodes('pubDate | atom:published | atom:updated', $node) or return;
my $date = $nodes[0]->textContent;
my $dt = eval { DateTime::Format::Mail->parse_datetime($date) }
|| eval { DateTime::Format::ISO8601->parse_datetime($date) }
|| eval { DateTime::Format::Mail->parse_datetime(french($date)) };
return $dt;
}
( run in 0.350 second using v1.01-cache-2.11-cpan-95122f20152 )