From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 552691FA12 for ; Fri, 16 Apr 2021 23:10:36 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 4/9] lei_to_mail: cast to URIimap object early Date: Fri, 16 Apr 2021 16:10:30 -0700 Message-Id: <20210416231035.31807-5-e@80x24.org> In-Reply-To: <20210416231035.31807-1-e@80x24.org> References: <20210416231035.31807-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: NetReader->add_url supports URI-like objects, now. We'll be relying on the canonicalization for LeiSavedSearch. --- lib/PublicInbox/LeiToMail.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index 4ebaf8f3..daa8084b 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -335,14 +335,16 @@ sub new { $self->{base_type} = 'mbox'; } elsif ($fmt =~ /\Aimaps?\z/) { # TODO .onion support require PublicInbox::NetWriter; + require PublicInbox::URIimap; my $net = PublicInbox::NetWriter->new; - $net->add_url($dst); $net->{quiet} = $lei->{opt}->{quiet}; - my $err = $net->errors($dst); + my $uri = PublicInbox::URIimap->new($dst)->canonical; + $net->add_url($uri); + my $err = $net->errors; return $lei->fail($err) if $err; - require PublicInbox::URIimap; # TODO: URI cast early - $self->{uri} = PublicInbox::URIimap->new($dst); - $self->{uri}->mailbox or die "No mailbox: $dst"; + $uri->mailbox or return $lei->fail("No mailbox: $dst"); + $self->{uri} = $uri; + $dst = $lei->{ovv}->{dst} = $$uri; # canonicalized $lei->{net} = $net; $self->{base_type} = 'imap'; } else {