From 96a5e841a169166457d9cf485e27a0d6cbe7ed75 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 22 Oct 2021 08:22:45 +0000 Subject: lei export-kw: don't recreate deleted IMAP folders In case an IMAP folder is deleted, just set an error and ignore it rather than creating an empty folder which we attempt to export keywords to for non-existent messages. --- lib/PublicInbox/LeiExportKw.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/LeiExportKw.pm') diff --git a/lib/PublicInbox/LeiExportKw.pm b/lib/PublicInbox/LeiExportKw.pm index ceeef7f2..12c8f406 100644 --- a/lib/PublicInbox/LeiExportKw.pm +++ b/lib/PublicInbox/LeiExportKw.pm @@ -67,9 +67,13 @@ 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); - my $mic = $self->{nwr}->mic_for_folder($uri); - $self->{lms}->each_src($$uri, \&export_kw_imap, $self, $mic); - $mic->expunge; + if (my $mic = $self->{nwr}->mic_for_folder($uri)) { + $self->{lms}->each_src($$uri, \&export_kw_imap, + $self, $mic); + $mic->expunge; + } else { + $self->{lei}->child_error(0, "$input unavailable: $@"); + } } else { die "BUG: $input not supported" } } @@ -108,6 +112,7 @@ EOM $self->{nwr} = bless $net, 'PublicInbox::NetWriter'; $self->{imap_mod_kw} = $net->can($self->{-merge_kw} ? 'imap_add_kw' : 'imap_set_kw'); + $self->{nwr}->{-skip_creat} = 1; } my $ops = {}; $lei->{auth}->op_merge($ops, $self) if $lei->{auth}; -- cgit v1.2.3-24-ge0c7