X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fmknews.perl;h=ba049d9e64e1a6229ba9e11e0314d0cdcd7593d7;hb=c447bbbd;hp=71b1a996c254b9439fd6644805ea85d048e6f8a5;hpb=4d19d3a79188591a25d325128d2ed0a153766577;p=public-inbox.git diff --git a/Documentation/mknews.perl b/Documentation/mknews.perl index 71b1a996..ba049d9e 100755 --- a/Documentation/mknews.perl +++ b/Documentation/mknews.perl @@ -1,11 +1,11 @@ #!/usr/bin/perl -w -# Copyright (C) 2019 all contributors +# Copyright (C) 2019-2020 all contributors # License: AGPL-3.0+ # Generates NEWS, NEWS.atom, and NEWS.html files using release emails # this uses unstable internal APIs of public-inbox, and this script # needs to be updated if they change. use strict; -use PublicInbox::MIME; +use PublicInbox::Eml; use PublicInbox::View; use PublicInbox::MsgTime qw(msg_datestamp); use PublicInbox::MID qw(mids mid_escape); @@ -76,7 +76,7 @@ sub release2mime { my ($release, $mtime_ref) = @_; my $f = "$dir/$release.eml"; open(my $fh, '<', $f) or die "open($f): $!"; - my $mime = PublicInbox::MIME->new(do { local $/; <$fh> }); + my $mime = PublicInbox::Eml->new(\(do { local $/; <$fh> })); # Documentation/include.mk relies on mtimes of each .eml file # to trigger rebuild, so make sure we sync the mtime to the Date: # header in the .eml @@ -102,9 +102,10 @@ sub mime2txt { } sub mime2html { - my ($out, $mime, $ctx) = @_; - my $smsg = bless { mime => $mime }, 'PublicInbox::SearchMsg'; - print $out PublicInbox::View::index_entry($smsg, $ctx, 1) or die; + my ($out, $eml, $ctx) = @_; + my $smsg = bless {}, 'PublicInbox::Smsg'; + $smsg->populate($eml); + print $out PublicInbox::View::eml_entry($ctx, $smsg, $eml, 1) or die; } sub html_start { @@ -127,10 +128,10 @@ sub atom_start { require PublicInbox::WwwAtomStream; # WwwAtomStream stats this dir for mtime my $astream = PublicInbox::WwwAtomStream->new($ctx); - delete $ctx->{emit_header}; + delete $astream->{emit_header}; my $ibx = $ctx->{-inbox}; my $title = PublicInbox::WwwAtomStream::title_tag($ibx->description); - my $updated = PublicInbox::WwwAtomStream::feed_updated(gmtime($mtime)); + my $updated = PublicInbox::WwwAtomStream::feed_updated($mtime); print $out < $mime }, 'PublicInbox::SearchMsg'; + my $smsg = bless { mime => $mime }, 'PublicInbox::Smsg'; if (defined(my $str = $astream->feed_entry($smsg))) { print $out $str or die; }