From d3a2b3c8df7ce2c2d62b532b814a3fdcc89f1cac Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 24 Jan 2021 04:46:50 -0700 Subject: [PATCH] lei q: disable remote externals if locals exist --remote should be explicitly enabled if local externals are present, since users may be offline or on expensive + metered Internet while traveling. In the future, --remote will probably default to caching/memoizing all messages it fetches to increase the usefulness of --local. --- lib/PublicInbox/LEI.pm | 2 +- lib/PublicInbox/LeiQuery.pm | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index 473a28a9..378113e8 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -83,7 +83,7 @@ sub _config_path ($) { our %CMD = ( # sorted in order of importance/use: 'q' => [ 'SEARCH_TERMS...', 'search for messages matching terms', qw( save-as=s output|mfolder|o=s format|f=s dedupe|d=s thread|t augment|a - sort|s=s reverse|r offset=i remote local! external! pretty mua-cmd=s + sort|s=s reverse|r offset=i remote! local! external! pretty mua-cmd=s torsocks=s no-torsocks verbose|v since|after=s until|before=s), PublicInbox::LeiQuery::curl_opt(), opt_dash('limit|n=i', '[0-9]+') ], diff --git a/lib/PublicInbox/LeiQuery.pm b/lib/PublicInbox/LeiQuery.pm index a7938e8b..7713902b 100644 --- a/lib/PublicInbox/LeiQuery.pm +++ b/lib/PublicInbox/LeiQuery.pm @@ -24,7 +24,9 @@ sub lei_q { # --external is enabled by default, but allow --no-external if ($opt->{external} //= 1) { my $cb = $lxs->can('prepare_external'); - $self->_externals_each($cb, $lxs); + my $ne = $self->_externals_each($cb, $lxs); + $opt->{remote} //= $ne == $lxs->remotes; + delete($lxs->{remotes}) if !$opt->{remote}; } my $xj = $lxs->concurrency($opt); my $ovv = PublicInbox::LeiOverview->new($self) or return; -- 2.44.0