summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/aggregate.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-09-17 18:09:38 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-09-17 18:11:22 -0400
commit89953e3e19d3e5fb0f5c9d47e3905fde27ab08cb (patch)
treecd4d5a5f2f901eb99d22b1d03bebb3884abb61b1 /IkiWiki/Plugin/aggregate.pm
parent6a90f5cb3fca4e5530b144cf5bb054c15798756e (diff)
store ctime for use by expiry code
The expiry code does need to make sure to sort in ctime order, even if expiring by count, so it expires the right ones.
Diffstat (limited to 'IkiWiki/Plugin/aggregate.pm')
-rw-r--r--IkiWiki/Plugin/aggregate.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm
index c1421f246..f47dc58b3 100644
--- a/IkiWiki/Plugin/aggregate.pm
+++ b/IkiWiki/Plugin/aggregate.pm
@@ -420,10 +420,10 @@ sub expire () { #{{{
next unless $feed->{expireage} || $feed->{expirecount};
my $count=0;
my %seen;
- foreach my $item (sort { ($IkiWiki::pagectime{$b->{page}}||0) <=> ($IkiWiki::pagectime{$a->{page}}||0) }
+ foreach my $item (sort { $IkiWiki::pagectime{$b->{page}} <=> $IkiWiki::pagectime{$a->{page}} }
grep { exists $_->{page} && $_->{feed} eq $feed->{name} }
values %guids) {
- if ($feed->{expireage} && $IkiWiki::pagectime{$_->{page}}) {
+ if ($feed->{expireage}) {
my $days_old = (time - $IkiWiki::pagectime{$item->{page}}) / 60 / 60 / 24;
if ($days_old > $feed->{expireage}) {
debug(sprintf(gettext("expiring %s (%s days old)"),
@@ -618,10 +618,13 @@ sub add_page (@) { #{{{
writefile(htmlfn($guid->{page}), $config{srcdir},
$template->output);
- # Set the mtime, this lets the build process get the right creation
- # time on record for the new page.
- utime $mtime, $mtime, pagefile($guid->{page})
- if defined $mtime && $mtime <= time;
+ if (defined $mtime && $mtime <= time) {
+ # Set the mtime, this lets the build process get the right
+ # creation time on record for the new page.
+ utime $mtime, $mtime, pagefile($guid->{page});
+ # Store it in pagectime for expiry code to use also.
+ $IkiWiki::pagectime{$guid->{page}}=$mtime;
+ }
} #}}}
sub htmlescape ($) { #{{{