about summary refs log tree commit homepage
path: root/public-inbox-learn
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-04-26 01:01:10 +0000
committerEric Wong <e@80x24.org>2014-04-26 01:47:51 +0000
commite022d3377fd2c50fd9931bf96394728958a90bf3 (patch)
tree0b2a4725ddb2f289893e41abe81099648253a80c /public-inbox-learn
parent89f34da9a510bf87293721942d688b1425bb9cf7 (diff)
downloadpublic-inbox-e022d3377fd2c50fd9931bf96394728958a90bf3.tar.gz
Hopefully this simplifies and corrects our usage of Perl encoding
APIs.
Diffstat (limited to 'public-inbox-learn')
-rwxr-xr-xpublic-inbox-learn18
1 files changed, 7 insertions, 11 deletions
diff --git a/public-inbox-learn b/public-inbox-learn
index 2c2bbfb5..bb130b21 100755
--- a/public-inbox-learn
+++ b/public-inbox-learn
@@ -5,7 +5,7 @@ my $usage = "$0 (spam|ham) < /path/to/message";
 use strict;
 use warnings;
 use PublicInbox::Config;
-use Email::Simple;
+use Email::MIME;
 use Email::Address;
 use IPC::Run qw/run/;
 my $train = shift or die "usage: $usage\n";
@@ -14,22 +14,18 @@ if ($train !~ /\A(?:ham|spam)\z/) {
 }
 
 my $pi_config = PublicInbox::Config->new;
-my $simple;
-{
-        local $/;
-        $simple = Email::Simple->new(<>);
-}
+my $mime = Email::MIME->new(eval { local $/; <> });
 
 # get all recipients
 my %dests;
 foreach my $h (qw(Cc To)) {
-        foreach my $recipient (Email::Address->parse($simple->header($h))) {
+        foreach my $recipient (Email::Address->parse($mime->header($h))) {
                 $dests{lc($recipient->address)} = 1;
         }
 }
 
-my $in = $simple->as_string;
-$simple->body_set("");
+my $in = $mime->as_string;
+$mime->body_set('');
 
 my $err = 0;
 my @output = qw(> /dev/null > /dev/null);
@@ -59,10 +55,10 @@ foreach my $recipient (keys %dests) {
 
                 # no checking for errors here, we assume the message has
                 # been reviewed by a human at this point:
-                PublicInbox::Filter->run($simple);
+                PublicInbox::Filter->run($mime);
 
                 my ($name, $email, $date) =
-                                PublicInbox::MDA->author_info($simple);
+                                PublicInbox::MDA->author_info($mime);
                 local $ENV{GIT_AUTHOR_NAME} = $name;
                 local $ENV{GIT_AUTHOR_EMAIL} = $email;
                 local $ENV{GIT_AUTHOR_DATE} = $date;