diff options
-rw-r--r-- | MANIFEST | 4 | ||||
-rw-r--r-- | lib/PublicInbox/InboxWritable.pm | 4 | ||||
-rw-r--r-- | lib/PublicInbox/WatchMaildir.pm | 6 | ||||
-rwxr-xr-x | script/public-inbox-edit | 5 | ||||
-rw-r--r-- | t/iso-2202-jp.eml (renamed from t/iso-2202-jp.mbox) | 1 | ||||
-rw-r--r-- | t/mda.t | 10 | ||||
-rw-r--r-- | t/msg_iter.t | 18 | ||||
-rw-r--r-- | t/nntpd-tls.t | 8 | ||||
-rw-r--r-- | t/search.t | 12 | ||||
-rw-r--r-- | t/solver_git.t | 4 | ||||
-rw-r--r-- | t/utf8.eml (renamed from t/utf8.mbox) | 1 |
11 files changed, 28 insertions, 45 deletions
@@ -253,7 +253,7 @@ t/index-git-times.t t/indexlevels-mirror-v1.t t/indexlevels-mirror.t t/init.t -t/iso-2202-jp.mbox +t/iso-2202-jp.eml t/linkify.t t/main-bin/spamc t/mda.t @@ -294,7 +294,7 @@ t/spamcheck_spamc.t t/spawn.t t/thread-cycle.t t/time.t -t/utf8.mbox +t/utf8.eml t/v1-add-remove-add.t t/v1reindex.t t/v2-add-remove-add.t diff --git a/lib/PublicInbox/InboxWritable.pm b/lib/PublicInbox/InboxWritable.pm index f2ba21fc..31aa76c6 100644 --- a/lib/PublicInbox/InboxWritable.pm +++ b/lib/PublicInbox/InboxWritable.pm @@ -111,7 +111,7 @@ sub is_maildir_path ($) { (is_maildir_basename($p[-1]) && -f $path) ? 1 : 0; } -sub maildir_path_load ($) { +sub mime_from_path ($) { my ($path) = @_; if (open my $fh, '<', $path) { local $/; @@ -138,7 +138,7 @@ sub import_maildir { opendir my $dh, "$dir/$sub" or die "opendir $dir/$sub: $!\n"; while (defined(my $fn = readdir($dh))) { next unless is_maildir_basename($fn); - my $mime = maildir_path_load("$dir/$fn") or next; + my $mime = mime_from_path("$dir/$fn") or next; if (my $filter = $self->filter($im)) { my $ret = $filter->scrub($mime) or return; diff --git a/lib/PublicInbox/WatchMaildir.pm b/lib/PublicInbox/WatchMaildir.pm index e2024640..bea2ed2a 100644 --- a/lib/PublicInbox/WatchMaildir.pm +++ b/lib/PublicInbox/WatchMaildir.pm @@ -11,7 +11,7 @@ use PublicInbox::InboxWritable; use File::Temp 0.19 (); # 0.19 for ->newdir use PublicInbox::Filter::Base qw(REJECT); use PublicInbox::Spamcheck; -*maildir_path_load = *PublicInbox::InboxWritable::maildir_path_load; +*mime_from_path = \&PublicInbox::InboxWritable::mime_from_path; sub new { my ($class, $config) = @_; @@ -123,7 +123,7 @@ sub _remove_spam { my ($self, $path) = @_; # path must be marked as (S)een $path =~ /:2,[A-R]*S[T-Za-z]*\z/ or return; - my $mime = maildir_path_load($path) or return; + my $mime = mime_from_path($path) or return; $self->{config}->each_inbox(sub { my ($ibx) = @_; eval { @@ -165,7 +165,7 @@ sub _try_path { $warn_cb->(@_); }; foreach my $ibx (@$inboxes) { - my $mime = maildir_path_load($path) or next; + my $mime = mime_from_path($path) or next; my $im = _importer_for($self, $ibx); # any header match means it's eligible for the inbox: diff --git a/script/public-inbox-edit b/script/public-inbox-edit index ae5d8289..28b1b5e8 100755 --- a/script/public-inbox-edit +++ b/script/public-inbox-edit @@ -92,9 +92,8 @@ Multiple messages with different content found matching warn "Will edit all of them\n"; } } else { - open my $fh, '<', $file or die "open($file) failed: $!"; - my $orig = do { local $/; <$fh> }; - my $mime = PublicInbox::MIME->new(\$orig); + my $mime = PublicInbox::InboxWritable::mime_from_path($file) or + die "open($file) failed: $!"; my $mids = mids($mime->header_obj); find_mid($found, $_, \@ibxs) for (@$mids); # populates $found my $cid = content_id($mime); diff --git a/t/iso-2202-jp.mbox b/t/iso-2202-jp.eml index 1a8e1974..9e0bbad4 100644 --- a/t/iso-2202-jp.mbox +++ b/t/iso-2202-jp.eml @@ -1,4 +1,3 @@ -From historical@ruby-dev Thu Jan 1 00:00:00 1970 Message-Id: <199707281508.AAA24167@hoyogw.example> Date: Tue, 29 Jul 97 00:08:29 +0900 From: matz@example.com @@ -7,6 +7,7 @@ use Email::MIME; use Cwd qw(getcwd); use PublicInbox::MID qw(mid2path); use PublicInbox::Git; +use PublicInbox::InboxWritable; use PublicInbox::TestCommon; my ($tmpdir, $for_destroy) = tmpdir(); my $home = "$tmpdir/pi-home"; @@ -62,12 +63,9 @@ local $ENV{GIT_COMMITTER_NAME} = eval { use PublicInbox::MDA; use PublicInbox::Address; use Encode qw/encode/; - my $mbox = 't/utf8.mbox'; - open(my $fh, '<', $mbox) or die "failed to open mbox: $mbox\n"; - my $str = eval { local $/; <$fh> }; - close $fh; - my $msg = Email::MIME->new($str); - + my $eml = 't/utf8.eml'; + my $msg = PublicInbox::InboxWritable::mime_from_path($eml) or + die "failed to open $eml: $!"; my $from = $msg->header('From'); my ($author) = PublicInbox::Address::names($from); my ($email) = PublicInbox::Address::emails($from); diff --git a/t/msg_iter.t b/t/msg_iter.t index d303564f..573ee412 100644 --- a/t/msg_iter.t +++ b/t/msg_iter.t @@ -5,6 +5,7 @@ use warnings; use Test::More; use Email::MIME; use PublicInbox::Hval qw(ascii_html); +use PublicInbox::InboxWritable; use_ok('PublicInbox::MsgIter'); { @@ -42,12 +43,9 @@ use_ok('PublicInbox::MsgIter'); } { - my $f = 't/iso-2202-jp.mbox'; - my $mime = Email::MIME->new(do { - open my $fh, '<', $f or die "open($f): $!"; - local $/; - <$fh>; - }); + my $f = 't/iso-2202-jp.eml'; + my $mime = PublicInbox::InboxWritable::mime_from_path($f) or + die "open $f: $!"; my $raw = ''; msg_iter($mime, sub { my ($part, $level, @ex) = @{$_[0]}; @@ -61,12 +59,8 @@ use_ok('PublicInbox::MsgIter'); { my $f = 't/x-unknown-alpine.eml'; - my $mime = Email::MIME->new(do { - open my $fh, '<', $f or die "open($f): $!"; - local $/; - binmode $fh; - <$fh>; - }); + my $mime = PublicInbox::InboxWritable::mime_from_path($f) or + die "open $f: $!"; my $raw = ''; msg_iter($mime, sub { my ($part, $level, @ex) = @{$_[0]}; diff --git a/t/nntpd-tls.t b/t/nntpd-tls.t index 0714631d..a0522e1f 100644 --- a/t/nntpd-tls.t +++ b/t/nntpd-tls.t @@ -63,11 +63,9 @@ EOF { my $im = $ibx->importer(0); - my $mime = PublicInbox::MIME->new(do { - open my $fh, '<', 't/data/0001.patch' or die; - local $/; - <$fh> - }); + my $eml = 't/data/0001.patch'; + my $mime = PublicInbox::InboxWritable::mime_from_path($eml) or + die "open $eml: $!"; ok($im->add($mime), 'message added'); $im->done; if ($version == 1) { @@ -7,6 +7,7 @@ use PublicInbox::TestCommon; require_mods(qw(DBD::SQLite Search::Xapian)); require PublicInbox::SearchIdx; require PublicInbox::Inbox; +require PublicInbox::InboxWritable; use Email::MIME; my ($tmpdir, $for_destroy) = tmpdir(); my $git_dir = "$tmpdir/a.git"; @@ -290,14 +291,9 @@ $ibx->with_umask(sub { }); $ibx->with_umask(sub { - my $str = eval { - my $mbox = 't/utf8.mbox'; - open(my $fh, '<', $mbox) or die "failed to open mbox: $mbox\n"; - local $/; - <$fh> - }; - $str =~ s/\AFrom [^\n]+\n//s; - my $mime = Email::MIME->new($str); + my $eml = 't/utf8.eml'; + my $mime = PublicInbox::InboxWritable::mime_from_path($eml) or + die "open $eml: $!"; my $doc_id = $rw->add_message($mime); ok($doc_id > 0, 'message indexed doc_id with UTF-8'); my $msg = $rw->query('m:testmessage@example.com', {limit => 1})->[0]; diff --git a/t/solver_git.t b/t/solver_git.t index 2dbb07b0..7f0cd999 100644 --- a/t/solver_git.t +++ b/t/solver_git.t @@ -28,8 +28,8 @@ my $im = PublicInbox::V2Writable->new($ibx, 1); $im->{parallel} = 0; my $deliver_patch = sub ($) { - open my $fh, '<', $_[0] or die "open: $!"; - my $mime = PublicInbox::MIME->new(do { local $/; <$fh> }); + my $mime = PublicInbox::InboxWritable::mime_from_path($_[0]) or + die "open $_[0]: $!"; $im->add($mime); $im->done; }; diff --git a/t/utf8.mbox b/t/utf8.eml index cebaf9b0..9bf1002c 100644 --- a/t/utf8.mbox +++ b/t/utf8.eml @@ -1,4 +1,3 @@ -From e@yhbt.net Thu Jan 01 00:00:00 1970 Date: Thu, 01 Jan 1970 00:00:00 +0000 To: =?utf-8?Q?El=C3=A9anor?= <e@example.com> From: =?utf-8?Q?El=C3=A9anor?= <e@example.com> |