sub description {
my ($self) = @_;
- $self->{description} //= do {
+ ($self->{description} //= do {
my $desc = try_cat("$self->{inboxdir}/description");
local $/ = "\n";
chomp $desc;
$desc =~ s/\s+/ /smg;
- $desc eq '' ? '($INBOX_DIR/description missing)' : $desc;
- };
+ $desc eq '' ? undef : $desc;
+ }) // '($INBOX_DIR/description missing)';
}
sub cloneurl {
my ($self) = @_;
- $self->{cloneurl} //=
- [ split(/\s+/s, try_cat("$self->{inboxdir}/cloneurl")) ];
+ ($self->{cloneurl} //= do {
+ my $s = try_cat("$self->{inboxdir}/cloneurl");
+ my @urls = split(/\s+/s, $s);
+ scalar(@urls) ? \@urls : undef
+ }) // [];
}
sub base_url {
# favor the Message-ID we used for the NNTP article number:
defined(my $num = mid2num($self, $mid)) or return;
my $smsg = $over->get_art($num) or return;
- PublicInbox::SearchMsg::psgi_cull($smsg);
+ PublicInbox::Smsg::psgi_cull($smsg);
}
sub msg_by_mid ($$;$) {
git($self)->modified; # v1
}
+# returns prefix => pathname mapping
+# (pathname is NOT public, but prefix is used for Xapian queries)
+sub altid_map ($) {
+ my ($self) = @_;
+ $self->{-altid_map} //= eval {
+ require PublicInbox::AltId;
+ my $altid = $self->{altid} or return {};
+ my %h = map {;
+ my $x = PublicInbox::AltId->new($self, $_);
+ "$x->{prefix}" => $x->{filename}
+ } @$altid;
+ \%h;
+ } // {};
+}
+
1;