]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/aggregate.pm
Merge remote branch 'upstream/master' into prv/po
[ikiwiki.git] / IkiWiki / Plugin / aggregate.pm
index e473fc6430819bbb19a0120d0acca4106b25edc7..9b70e5df053731866c5ad7a494432e6e0b72b4bc 100644 (file)
@@ -210,6 +210,8 @@ sub needsbuild (@) {
                        markunseen($feed->{sourcepage});
                }
        }
+
+       return $needsbuild;
 }
 
 sub preprocess (@) {
@@ -359,14 +361,9 @@ sub savestate () {
 
        my $timestamp=undef;
        foreach my $feed (keys %feeds) {
-               if (defined $feeds{$feed}->{lastupdate}) {
-                       my $t=$feeds{$feed}->{lastupdate}+$feeds{$feed}->{updateinterval};
-                       if (! defined $timestamp || $timestamp > $t) {
-                               $timestamp=$t;
-                       }
-               }
-               else {
-                       $timestamp=0;
+               my $t=$feeds{$feed}->{lastupdate}+$feeds{$feed}->{updateinterval};
+               if (! defined $timestamp || $timestamp > $t) {
+                       $timestamp=$t;
                }
        }
        $newfile=~s/\.new$/time/;
@@ -647,7 +644,14 @@ sub add_page (@) {
        $guid->{md5}=$digest;
 
        # Create the page.
-       my $template=template($feed->{template}, blind_cache => 1);
+       my $template;
+       eval {
+               $template=template($feed->{template}, blind_cache => 1);
+       };
+       if ($@) {
+               print STDERR gettext("failed to process template:")." $@";
+               return;
+       }
        $template->param(title => $params{title})
                if defined $params{title} && length($params{title});
        $template->param(content => wikiescape(htmlabs($params{content},