From 22fd855b498909bec6ca7112ace99ea392741992 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 13 Sep 2015 22:35:45 +0000 Subject: feed: consolidate updated tag generation We'll be reusing this code further in the next commit. --- lib/PublicInbox/Feed.pm | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index 258ef03b..5a2f62b1 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -68,9 +68,7 @@ sub emit_atom { each_recent_blob($ctx, sub { my ($path, undef, $ts) = @_; if (defined $x) { - $fh->write($x . '' . - strftime(DATEFMT, gmtime($ts)) . - ''); + $fh->write($x . feed_updated(undef, $ts)); $x = undef; } add_to_feed($feed_opts, $fh, $path, $git); @@ -317,11 +315,12 @@ sub mime_header { PublicInbox::Hval->new_oneline($mime->header($name))->raw; } -sub feed_date { - my ($date) = @_; - my @t = eval { strptime($date) }; +sub feed_updated { + my ($date, $ts) = @_; + my @t = eval { strptime($date) } if defined $date; + @t = gmtime($ts || time) unless scalar @t; - scalar(@t) ? strftime(DATEFMT, @t) : 0; + '' . strftime(DATEFMT, @t) . ''; } # returns 0 (skipped) or 1 (added) @@ -342,9 +341,7 @@ sub add_to_feed { $mime = undef; my $date = $header_obj->header('Date'); - $date = PublicInbox::Hval->new_oneline($date); - $date = feed_date($date->raw) or return 0; - $date = "$date"; + my $updated = feed_updated($date); my $title = mime_header($header_obj, 'Subject') or return 0; $title = title_tag($title); @@ -356,10 +353,10 @@ sub add_to_feed { $email = PublicInbox::Hval->new_oneline($email)->as_html; if (delete $feed_opts->{emit_header}) { - $fh->write(atom_header($feed_opts, $title) . $date); + $fh->write(atom_header($feed_opts, $title) . $updated); } $fh->write("$name$email" . - "$title$date" . + "$title$updated" . qq{} . qq{}); $fh->write($content); -- cgit v1.2.3-24-ge0c7