X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FInbox.pm;h=cb98d2ad5e29cbc017ddf65df293e9bbe1546d9f;hb=HEAD;hp=acd7f33843a7654b6895f70bfbd1ea9bdd441dea;hpb=038d977cc25177759537a89ca078701f14d3ace0;p=public-inbox.git diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index acd7f338..cb98d2ad 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -181,33 +181,18 @@ sub over { } // ($req ? croak("E: $@") : undef); } -sub try_cat { - my ($path) = @_; - open(my $fh, '<', $path) or return ''; - local $/; - <$fh> // ''; -} - -sub cat_desc ($) { - my $desc = try_cat($_[0]); - local $/ = "\n"; - chomp $desc; - utf8::decode($desc); - $desc =~ s/\s+/ /smg; - $desc eq '' ? undef : $desc; -} - sub description { my ($self) = @_; - ($self->{description} //= cat_desc("$self->{inboxdir}/description")) // + ($self->{description} //= + PublicInbox::Git::cat_desc("$self->{inboxdir}/description")) // '($INBOX_DIR/description missing)'; } sub cloneurl { my ($self) = @_; $self->{cloneurl} // do { - my $s = try_cat("$self->{inboxdir}/cloneurl"); - my @urls = split(/\s+/s, $s); + my @urls = split(/\s+/s, + PublicInbox::Git::try_cat("$self->{inboxdir}/cloneurl")); scalar(@urls) ? ($self->{cloneurl} = \@urls) : undef; } // []; } @@ -220,7 +205,8 @@ sub base_url { $url .= '/' if $url !~ m!/\z!; return $url .= $self->{name} . '/'; } - # called from a non-PSGI environment (e.g. NNTP/POP3): + # called from a non-PSGI environment or cross-inbox environment + # where multiple inboxes can have different domains my $url = $self->{url} // return undef; $url = $url->[0] // return undef; # expand protocol-relative URLs to HTTPS if we're @@ -351,11 +337,6 @@ sub msg_by_mid ($$) { $smsg ? msg_by_smsg($self, $smsg) : msg_by_path($self, mid2path($mid)); } -sub recent { - my ($self, $opts, $after, $before) = @_; - $self->over->recent($opts, $after, $before); -} - sub modified { my ($self) = @_; if (my $over = $self->over) {