From 322f2ba57b211ac34e5b6f138dfd6f9f19614812 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 19 Apr 2021 08:52:11 +0000 Subject: lei q: implement import-before default for --save This makes "lei q --save" as safe as "lei q" to prevent against accidental data loss when clobbering an existing output, --- lib/PublicInbox/LeiToMail.pm | 6 +++--- lib/PublicInbox/LeiUp.pm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index daa8084b..46a82a4b 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -375,7 +375,7 @@ sub _pre_augment_maildir { sub _do_augment_maildir { my ($self, $lei) = @_; - return if defined($lei->{opt}->{save}); + return if ($lei->{opt}->{save} // 0) < 0; my $dst = $lei->{ovv}->{dst}; my $lse = $lei->{opt}->{'import-before'} ? $lei->{lse} : undef; my $mdr = PublicInbox::MdirReader->new; @@ -406,7 +406,7 @@ sub _imap_augment_or_delete { # PublicInbox::NetReader::imap_each cb sub _do_augment_imap { my ($self, $lei) = @_; - return if defined($lei->{opt}->{save}); + return if ($lei->{opt}->{save} // 0) < 0; my $net = $lei->{net}; my $lse = $lei->{opt}->{'import-before'} ? $lei->{lse} : undef; if ($lei->{opt}->{augment}) { @@ -477,7 +477,7 @@ sub _do_augment_mbox { my ($self, $lei) = @_; return unless $self->{seekable}; my $opt = $lei->{opt}; - return if defined($opt->{save}); + return if ($opt->{save} // 0) < 0; my $out = $lei->{1}; my ($fmt, $dst) = @{$lei->{ovv}}{qw(fmt dst)}; return unless -s $out; diff --git a/lib/PublicInbox/LeiUp.pm b/lib/PublicInbox/LeiUp.pm index 73286ea2..e4cbc825 100644 --- a/lib/PublicInbox/LeiUp.pm +++ b/lib/PublicInbox/LeiUp.pm @@ -38,7 +38,7 @@ sub lei_up { $lei->{lss} = $lss; # for LeiOverview->new my $lxs = $lei->lxs_prepare or return; $lei->ale->refresh_externals($lxs); - $lei->{opt}->{save} = 1; + $lei->{opt}->{save} = -1; $lei->_start_query; } -- cgit v1.2.3-24-ge0c7