diff options
author | Eric Wong <e@80x24.org> | 2023-10-11 07:20:53 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-10-11 22:10:48 +0000 |
commit | 770d8b3f465db89d80922c32d766b022cf4b31ed (patch) | |
tree | 3bd60df35645436d0aaac95227fa372b1e6f73a9 /script | |
parent | 3b7cdd9173bd0d74fc181b05c02d90b320d621ae (diff) | |
download | public-inbox-770d8b3f465db89d80922c32d766b022cf4b31ed.tar.gz |
Aside from our prior import bugs (fixed in a0c07cba0e5d8b6a (mda: drop leading "From " lines again, 2016-06-26)), we'll always have to be dealing with mutt piping messages to us and `git format-patch' output. So just share the regexp so we can use it everywhere. In may be desirable to allow importing messages with a leading "From " line for FUSE, even. Additionally, some instances of this regexp needlessly added optional `\r?' (CR) checks ahead of the `\n' (LF) element; but they're pointless anyways since [^\n]* is enough to exclude all non-LF bytes.
Diffstat (limited to 'script')
-rwxr-xr-x | script/public-inbox-edit | 5 | ||||
-rwxr-xr-x | script/public-inbox-learn | 2 | ||||
-rwxr-xr-x | script/public-inbox-mda | 4 | ||||
-rwxr-xr-x | script/public-inbox-purge | 4 |
4 files changed, 7 insertions, 8 deletions
diff --git a/script/public-inbox-edit b/script/public-inbox-edit index 1fbaf5a7..1fb6f32b 100755 --- a/script/public-inbox-edit +++ b/script/public-inbox-edit @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright (C) 2019-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> # # Used for editing messages in a public-inbox. @@ -188,8 +188,7 @@ retry_edit: "read $edit_fn: $!\n"; if (!$opt->{raw}) { - # get rid of the From we added - $new_raw =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s; + PublicInbox::Eml::strip_from($new_raw); # check if user forgot to purge (in mutt) after editing if ($new_raw =~ /^From /sm) { diff --git a/script/public-inbox-learn b/script/public-inbox-learn index 8b8e1b77..6e1978a7 100755 --- a/script/public-inbox-learn +++ b/script/public-inbox-learn @@ -40,7 +40,7 @@ my $pi_cfg = PublicInbox::Config->new; my $err; my $mime = PublicInbox::Eml->new(do{ defined(my $data = do { local $/; <STDIN> }) or die "read STDIN: $!\n"; - $data =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s; + PublicInbox::Eml::strip_from($data); if ($train ne 'rm') { eval { diff --git a/script/public-inbox-mda b/script/public-inbox-mda index ba498956..cac819ac 100755 --- a/script/public-inbox-mda +++ b/script/public-inbox-mda @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright (C) 2013-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> # # Mail delivery agent for public-inbox, run from your MTA upon mail delivery @@ -39,7 +39,7 @@ use PublicInbox::Spamcheck; my $emergency = $ENV{PI_EMERGENCY} || "$ENV{HOME}/.public-inbox/emergency/"; $ems = PublicInbox::Emergency->new($emergency); my $str = do { local $/; <STDIN> }; -$str =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s; +PublicInbox::Eml::strip_from($str); $ems->prepare(\$str); my $eml = PublicInbox::Eml->new(\$str); my $cfg = PublicInbox::Config->new; diff --git a/script/public-inbox-purge b/script/public-inbox-purge index 121027cc..8f9b0b16 100755 --- a/script/public-inbox-purge +++ b/script/public-inbox-purge @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright (C) 2019-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> # # Used for purging messages entirely from a public-inbox. Currently @@ -34,7 +34,7 @@ my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt); PublicInbox::AdminEdit::check_editable(\@ibxs); defined(my $data = do { local $/; <STDIN> }) or die "read STDIN: $!\n"; -$data =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s; +PublicInbox::Eml::strip_from($data); my $n_purged = 0; foreach my $ibx (@ibxs) { |