diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-09-17 18:09:38 -0400 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-09-17 18:11:22 -0400 |
commit | 89953e3e19d3e5fb0f5c9d47e3905fde27ab08cb (patch) | |
tree | cd4d5a5f2f901eb99d22b1d03bebb3884abb61b1 /IkiWiki/Plugin | |
parent | 6a90f5cb3fca4e5530b144cf5bb054c15798756e (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')
-rw-r--r-- | IkiWiki/Plugin/aggregate.pm | 15 |
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 ($) { #{{{ |