X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FConfig.pm;h=01a01c62b9f3b8e6eae60be54ac70b03be3bd14d;hb=9bd675d33ad1e49bd2ebe12a1d216216e61380de;hp=2e6f49316bb04e0a828d65d2162093c666416d51;hpb=5af89c247ef7e9c0f205edb3c30f25356895ce2c;p=public-inbox.git diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 2e6f4931..01a01c62 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2018 all contributors +# Copyright (C) 2014-2019 all contributors # License: AGPL-3.0+ # # Used throughout the project for reading configuration @@ -60,8 +60,8 @@ sub new { sub lookup { my ($self, $recipient) = @_; my $addr = lc($recipient); - my $inbox = $self->{-by_addr}->{$addr}; - return $inbox if $inbox; + my $ibx = $self->{-by_addr}->{$addr}; + return $ibx if $ibx; my $pfx; @@ -113,16 +113,16 @@ sub each_inbox { sub lookup_newsgroup { my ($self, $ng) = @_; $ng = lc($ng); - my $rv = $self->{-by_newsgroup}->{$ng}; - return $rv if $rv; + my $ibx = $self->{-by_newsgroup}->{$ng}; + return $ibx if $ibx; foreach my $k (keys %$self) { $k =~ m!\A(publicinbox\.[^/]+)\.newsgroup\z! or next; my $v = $self->{$k}; my $pfx = $1; if ($v eq $ng) { - $rv = _fill($self, $pfx); - return $rv; + $ibx = _fill($self, $pfx); + return $ibx; } } undef; @@ -297,17 +297,17 @@ sub parse_cgitrc { chomp; if (m!\Arepo\.url=(.+?)/*\z!) { my $nick = $1; - cgit_repo_merge($self, $repo->{path}, $repo) if $repo; + cgit_repo_merge($self, $repo->{dir}, $repo) if $repo; $repo = { url => $nick }; } elsif (m!\Arepo\.path=(.+)\z!) { if (defined $repo) { - $repo->{path} = $1; + $repo->{dir} = $1; } else { warn "$_ without repo.url\n"; } } elsif (m!\Ainclude=(.+)\z!) { parse_cgitrc($self, $1, $nesting + 1); - } elsif (m!\A(scan-hidden-path|remove-suffix)=(\d+)\z!) { + } elsif (m!\A(scan-hidden-path|remove-suffix)=([0-9]+)\z!) { my ($k, $v) = ($1, $2); $k =~ tr/-/_/; $self->{"-cgit_$k"} = $v; @@ -326,7 +326,7 @@ sub parse_cgitrc { $self->{-cgit_static}->{$1} = 1; } } - cgit_repo_merge($self, $repo->{path}, $repo) if $repo; + cgit_repo_merge($self, $repo->{dir}, $repo) if $repo; } # parse a code repo @@ -368,34 +368,34 @@ sub _fill_code_repo { sub _fill { my ($self, $pfx) = @_; - my $rv = {}; + my $ibx = {}; foreach my $k (qw(mainrepo filter url newsgroup infourl watch watchheader httpbackendmax replyto feedmax nntpserver indexlevel)) { my $v = $self->{"$pfx.$k"}; - $rv->{$k} = $v if defined $v; + $ibx->{$k} = $v if defined $v; } foreach my $k (qw(obfuscate)) { my $v = $self->{"$pfx.$k"}; defined $v or next; if ($v =~ /\A(?:false|no|off|0)\z/) { - $rv->{$k} = 0; + $ibx->{$k} = 0; } elsif ($v =~ /\A(?:true|yes|on|1)\z/) { - $rv->{$k} = 1; + $ibx->{$k} = 1; } else { warn "Ignoring $pfx.$k=$v in config, not boolean\n"; } } # TODO: more arrays, we should support multi-value for # more things to encourage decentralization - foreach my $k (qw(address altid nntpmirror coderepo)) { + foreach my $k (qw(address altid nntpmirror coderepo hide)) { if (defined(my $v = $self->{"$pfx.$k"})) { - $rv->{$k} = _array($v); + $ibx->{$k} = _array($v); } } - return unless $rv->{mainrepo}; + return unless $ibx->{mainrepo}; my $name = $pfx; $name =~ s/\Apublicinbox\.//; @@ -404,27 +404,27 @@ sub _fill { return; } - $rv->{name} = $name; - $rv->{-pi_config} = $self; - $rv = PublicInbox::Inbox->new($rv); - foreach (@{$rv->{address}}) { + $ibx->{name} = $name; + $ibx->{-pi_config} = $self; + $ibx = PublicInbox::Inbox->new($ibx); + foreach (@{$ibx->{address}}) { my $lc_addr = lc($_); - $self->{-by_addr}->{$lc_addr} = $rv; + $self->{-by_addr}->{$lc_addr} = $ibx; $self->{-no_obfuscate}->{$lc_addr} = 1; } - if (my $ng = $rv->{newsgroup}) { - $self->{-by_newsgroup}->{$ng} = $rv; + if (my $ng = $ibx->{newsgroup}) { + $self->{-by_newsgroup}->{$ng} = $ibx; } - $self->{-by_name}->{$name} = $rv; - if ($rv->{obfuscate}) { - $rv->{-no_obfuscate} = $self->{-no_obfuscate}; - $rv->{-no_obfuscate_re} = $self->{-no_obfuscate_re}; + $self->{-by_name}->{$name} = $ibx; + if ($ibx->{obfuscate}) { + $ibx->{-no_obfuscate} = $self->{-no_obfuscate}; + $ibx->{-no_obfuscate_re} = $self->{-no_obfuscate_re}; each_inbox($self, sub {}); # noop to populate -no_obfuscate } - if (my $ibx_code_repos = $rv->{coderepo}) { + if (my $ibx_code_repos = $ibx->{coderepo}) { my $code_repos = $self->{-code_repos}; - my $repo_objs = $rv->{-repo_objs} = []; + my $repo_objs = $ibx->{-repo_objs} = []; foreach my $nick (@$ibx_code_repos) { my @parts = split(m!/!, $nick); my $valid = 0; @@ -437,7 +437,7 @@ sub _fill { } } - $rv + $ibx } 1;