X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FConfig.pm;h=f6275cdd24663d2f5b3f8235d7e188a04863b923;hb=ba4c50c20b95679580beba1ef290a4281d5285b7;hp=1256fb1e7df208ca9bb17fb269ad639d99c789c6;hpb=7b8c110cb5485479b626852ccce6f2790d7ac4b6;p=public-inbox.git diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 1256fb1e..f6275cdd 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -90,17 +90,11 @@ sub limiter { my ($self, $name) = @_; $self->{-limiters}->{$name} ||= do { require PublicInbox::Qspawn; - my $key = "limiter.$name.max"; - PublicInbox::Qspawn::Limiter->new($self->{$key}); + my $max = $self->{"publicinboxlimiter.$name.max"}; + PublicInbox::Qspawn::Limiter->new($max); }; } -sub get { - my ($self, $inbox, $key) = @_; - - $self->{"publicinbox.$inbox.$key"}; -} - sub config_dir { $ENV{PI_DIR} || "$ENV{HOME}/.public-inbox" } sub default_file { @@ -117,7 +111,7 @@ sub git_config_dump { my $fh = popen_rd(\@cmd) or die "popen_rd failed for $file: $!\n"; my %rv; local $/ = "\n"; - foreach my $line (<$fh>) { + while (defined(my $line = <$fh>)) { chomp $line; my ($k, $v) = split(/=/, $line, 2); my $cur = $rv{$k}; @@ -141,10 +135,20 @@ sub _fill { my $rv = {}; foreach my $k (qw(mainrepo address filter url newsgroup - infourl watch watchheader httpbackendmax)) { + infourl watch watchheader httpbackendmax + feedmax nntpserver)) { my $v = $self->{"$pfx.$k"}; $rv->{$k} = $v if defined $v; } + + # TODO: more arrays, we should support multi-value for + # more things to encourage decentralization + foreach my $k (qw(altid nntpmirror)) { + if (defined(my $v = $self->{"$pfx.$k"})) { + $rv->{$k} = ref($v) eq 'ARRAY' ? $v : [ $v ]; + } + } + return unless $rv->{mainrepo}; my $name = $pfx; $name =~ s/\Apublicinbox\.//;