X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiExportKw.pm;h=d2396fa7d697bb7b8b9ddf092ff27de65230f350;hb=0054246c2d03fcc91bc899da5ef41a68f505e542;hp=5be9e51ff311c68e743d80480f9d12ef3d30c6e2;hpb=70a3ebbe4f277938d2a129c661a22b93b5f24d80;p=public-inbox.git diff --git a/lib/PublicInbox/LeiExportKw.pm b/lib/PublicInbox/LeiExportKw.pm index 5be9e51f..d2396fa7 100644 --- a/lib/PublicInbox/LeiExportKw.pm +++ b/lib/PublicInbox/LeiExportKw.pm @@ -67,7 +67,17 @@ sub input_path_url { $self->{lms}->each_src($input, \&export_kw_md, $self, $mdir); } elsif ($input =~ m!\Aimaps?://!i) { my $uri = PublicInbox::URIimap->new($input); - if (my $mic = $self->{nwr}->mic_for_folder($uri)) { + my $mic = $self->{nwr}->mic_for_folder($uri); + if ($mic && !$self->{nwr}->can_store_flags($mic)) { + my $m = "$input does not support PERMANENTFLAGS"; + if (defined $self->{lei}->{opt}->{all}) { + $self->{lei}->qerr("# $m"); + } else { # set error code if user explicitly requested + $self->{lei}->child_error(0, "E: $m"); + } + return; + } + if ($mic) { $self->{lms}->each_src($$uri, \&export_kw_imap, $self, $mic); $mic->expunge; @@ -114,13 +124,8 @@ EOM 'imap_add_kw' : 'imap_set_kw'); $self->{nwr}->{-skip_creat} = 1; } - 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 _complete_export_kw {