about summary refs log tree commit homepage
path: root/lib/PublicInbox/View.pm
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-05-07 21:05:44 +0000
committerEric Wong <e@yhbt.net>2020-05-09 08:59:10 +0000
commit8d1b87f498ea47bb752ea24900372df192d322fb (patch)
tree3d14a85ee2e353544e5d2a7cd59c0e071065bf76 /lib/PublicInbox/View.pm
parentdc7dc9ef49e3d396d2b47fa2befd1718aff45f0d (diff)
downloadpublic-inbox-8d1b87f498ea47bb752ea24900372df192d322fb.tar.gz
msg_iter: make ->each_part method for PublicInbox::MIME
The reliance on Email::MIME->subparts is a tad inefficient with
a work-in-progress module to replace Email::MIME.  So move
towards using ->each_part as a class-specific iterator which can
take advantage of more class-specific optimizations in the
yet-to-be-revealed PublicInbox::Eml and PublicInbox::Gmime
classes.

The msg_iter() sub remains for compatibility with existing
3rd-party scripts/modules which use our small public Perl API
and Email::MIME.
Diffstat (limited to 'lib/PublicInbox/View.pm')
-rw-r--r--lib/PublicInbox/View.pm10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index f7a8ae32..e42fb362 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -243,7 +243,7 @@ sub index_entry {
         # scan through all parts, looking for displayable text
         $ctx->{mhref} = $mhref;
         $ctx->{obuf} = \$rv;
-        msg_iter($mime, \&add_text_body, $ctx, 1);
+        $mime->each_part(\&add_text_body, $ctx, 1);
         delete $ctx->{obuf};
 
         # add the footer
@@ -474,10 +474,10 @@ sub thread_html_i { # PublicInbox::WwwStream::getline callback
 }
 
 sub multipart_text_as_html {
-        # ($mime, $ctx) = @_; # msg_iter will do "$_[0] = undef"
+        # ($mime, $ctx) = @_; # each_part may do "$_[0] = undef"
 
         # scan through all parts, looking for displayable text
-        msg_iter($_[0], \&add_text_body, $_[1], 1);
+        $_[0]->each_part(\&add_text_body, $_[1], 1);
 }
 
 sub attach_link ($$$$;$) {
@@ -515,11 +515,11 @@ EOF
         undef;
 }
 
-sub add_text_body { # callback for msg_iter
+sub add_text_body { # callback for each_part
         my ($p, $ctx) = @_;
         my $upfx = $ctx->{mhref};
         my $ibx = $ctx->{-inbox};
-        # $p - from msg_iter: [ Email::MIME, depth, @idx ]
+        # $p - from each_part: [ Email::MIME-like, depth, @idx ]
         my ($part, $depth, @idx) = @$p;
         my $ct = $part->content_type || 'text/plain';
         my $fn = $part->filename;