]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiRefreshMailSync.pm
lei refresh-mail-sync: filter NNTP(S) from --all
[public-inbox.git] / lib / PublicInbox / LeiRefreshMailSync.pm
index eb842843b51dece6664aad113e26efa4d22b4096..a60a9a5e9761ca2ca89320adfd121d291b070e8b 100644 (file)
@@ -73,6 +73,8 @@ lei mail_sync.sqlite3 uninitialized, see lei-import(1)
 EOM
        if (defined(my $all = $lei->{opt}->{all})) {
                $lms->group2folders($lei, $all, \@folders) or return;
+               # TODO: handle NNTP servers which delete messages
+               @folders = grep(!m!\Anntps?://!, @folders);
        } else {
                $lms->arg2folder($lei, \@folders); # may die
        }
@@ -81,13 +83,8 @@ EOM
        my $self = bless { missing_ok => 1, lms => $lms }, __PACKAGE__;
        $lei->{opt}->{'mail-sync'} = 1; # for prepare_inputs
        $self->prepare_inputs($lei, \@folders) or return;
-       my $ops = {};
-       $lei->{auth}->op_merge($ops, $self) if $lei->{auth};
-       (my $op_c, $ops) = $lei->workers_start($self, 1, $ops);
-       $lei->{wq1} = $self;
        $lei->{-err_type} = 'non-fatal';
-       net_merge_all_done($self) unless $lei->{auth};
-       $lei->wait_wq_events($op_c, $ops); # net_merge_all_done if !{auth}
+       $lei->wq1_start($self);
 }
 
 sub ipc_atfork_child { # needed for PublicInbox::LeiPmdir
@@ -101,7 +98,7 @@ sub _complete_refresh_mail_sync {
        my ($lei, @argv) = @_;
        my $lms = $lei->lms or return ();
        my $match_cb = $lei->complete_url_prepare(\@argv);
-       my @k = $lms->folders($argv[-1], 1);
+       my @k = $lms->folders($argv[-1] // undef, 1);
        my @m = map { $match_cb->($_) } @k;
        @m ? @m : @k
 }