diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/Config.pm | 2 | ||||
-rw-r--r-- | lib/PublicInbox/SearchIdx.pm | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 289c36a6..78586560 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -158,7 +158,7 @@ sub _fill { foreach my $k (qw(mainrepo filter url newsgroup infourl watch watchheader httpbackendmax - replyto feedmax nntpserver)) { + replyto feedmax nntpserver indexlevel)) { my $v = $self->{"$pfx.$k"}; $rv->{$k} = $v if defined $v; } diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 8978914a..04e85306 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -47,6 +47,7 @@ sub git_unquote ($) { sub new { my ($class, $ibx, $creat, $part) = @_; + my $levels = qr/\A(?:full|medium|basic)\z/; my $mainrepo = $ibx; # for "public-inbox-index" w/o entry in config my $git_dir = $mainrepo; my ($altid, $git); @@ -62,6 +63,13 @@ sub new { PublicInbox::AltId->new($ibx, $_); } @$altid ]; } + if ($ibx->{indexlevel}) { + if ($ibx->{indexlevel} =~ $levels) { + $indexlevel = $ibx->{indexlevel}; + } else { + die("Invalid indexlevel $ibx->{indexlevel}\n"); + } + } } else { # v1 $ibx = { mainrepo => $git_dir, version => 1 }; } |