diff options
author | Eric Wong <e@80x24.org> | 2021-06-09 07:47:51 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-06-09 10:03:45 +0000 |
commit | 84cc78416994832973c44aab08814b43a0fe7e51 (patch) | |
tree | b950b8db0e54aff32b5e9bbf89b782ac7ab5e27a /lib/PublicInbox/NetWriter.pm | |
parent | 9048ddfeb4df5cd3a4a8373de48c7137aed55b29 (diff) | |
download | public-inbox-84cc78416994832973c44aab08814b43a0fe7e51.tar.gz |
This will be invoked automatically by "lei import" eventually, but it may make sense to expose as a separate command.
Diffstat (limited to 'lib/PublicInbox/NetWriter.pm')
-rw-r--r-- | lib/PublicInbox/NetWriter.pm | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/lib/PublicInbox/NetWriter.pm b/lib/PublicInbox/NetWriter.pm index 8ec7f85c..82288e6b 100644 --- a/lib/PublicInbox/NetWriter.pm +++ b/lib/PublicInbox/NetWriter.pm @@ -26,26 +26,9 @@ sub imap_append { die "APPEND $folder: $@"; } -# updates $uri with UIDVALIDITY -sub mic_for_folder { - my ($self, $uri) = @_; - my $mic = $self->mic_get($uri) or die "E: not connected: $@"; - $mic->select($uri->mailbox) or return; - my $uidval; - for ($mic->Results) { - /^\* OK \[UIDVALIDITY ([0-9]+)\].*/ or next; - $uidval = $1; - last; - } - $uidval //= $mic->uidvalidity($uri->mailbox) or - die "E: failed to get uidvalidity from <$uri>: $@"; - $uri->uidvalidity($uidval); - $mic; -} - sub imap_delete_all { my ($self, $uri) = @_; - my $mic = mic_for_folder($self, $uri) or return; + my $mic = $self->mic_for_folder($uri) or return; my $sec = $self->can('uri_section')->($uri); local $0 = $uri->mailbox." $sec"; if ($mic->delete_message('1:*')) { @@ -55,7 +38,7 @@ sub imap_delete_all { sub imap_delete_1 { my ($self, $uri, $uid, $delete_mic) = @_; - $$delete_mic //= mic_for_folder($self, $uri) or return; + $$delete_mic //= $self->mic_for_folder($uri) or return; $$delete_mic->delete_message($uid); } |