X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiRefreshMailSync.pm;h=7821008fa38c5e80f6dae7d13b87cc0c552744e0;hb=0054246c2d03fcc91bc899da5ef41a68f505e542;hp=51e89b23e1fa79870d8b33b69ddbb4ace3bf81c8;hpb=387f0e693f9e22a7698927bb40dab0742738e8a6;p=public-inbox.git diff --git a/lib/PublicInbox/LeiRefreshMailSync.pm b/lib/PublicInbox/LeiRefreshMailSync.pm index 51e89b23..7821008f 100644 --- a/lib/PublicInbox/LeiRefreshMailSync.pm +++ b/lib/PublicInbox/LeiRefreshMailSync.pm @@ -7,7 +7,7 @@ package PublicInbox::LeiRefreshMailSync; use strict; use v5.10.1; use parent qw(PublicInbox::IPC PublicInbox::LeiInput); -use PublicInbox::LeiExportKw; +use PublicInbox::LeiImport; use PublicInbox::InboxWritable qw(eml_from_path); use PublicInbox::Import; @@ -81,13 +81,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 @@ -97,8 +92,16 @@ sub ipc_atfork_child { # needed for PublicInbox::LeiPmdir undef; } +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] // undef, 1); + my @m = map { $match_cb->($_) } @k; + @m ? @m : @k +} + no warnings 'once'; -*_complete_refresh_mail_sync = \&PublicInbox::LeiExportKw::_complete_export_kw; *net_merge_all_done = \&PublicInbox::LeiInput::input_only_net_merge_all_done; 1;