]> Sergey Matveev's repositories - public-inbox.git/commitdiff
lei: _lei_store: use default even if unconfigured
authorEric Wong <e@80x24.org>
Fri, 26 Mar 2021 04:29:36 +0000 (06:29 +0200)
committerEric Wong <e@80x24.org>
Fri, 26 Mar 2021 19:58:35 +0000 (19:58 +0000)
Perhaps leistore.dir doesn't need to have a config file
entry if we're using the default location.

v2: "account for unconfigured leistore.dir" (on reuse)

lib/PublicInbox/LEI.pm

index d534f1d04e8dfce9747b73efbad230c18368c220..99e180f61e9e3e4f2572bc5f98ece05356cc326e 100644 (file)
@@ -701,8 +701,9 @@ sub _lei_cfg ($;$) {
        bless $cfg, 'PublicInbox::Config';
        $cfg->{-st} = $cur_st;
        $cfg->{'-f'} = $f;
-       if ($sto && File::Spec->canonpath($sto_dir) eq
-                       File::Spec->canonpath($cfg->{'leistore.dir'})) {
+       if ($sto && File::Spec->canonpath($sto_dir // store_path($self))
+                       eq File::Spec->canonpath($cfg->{'leistore.dir'} //
+                                               store_path($self))) {
                $cfg->{-lei_store} = $sto;
        }
        if (scalar(keys %PATH2CFG) > 5) {
@@ -719,8 +720,8 @@ sub _lei_store ($;$) {
        my $cfg = _lei_cfg($self, $creat);
        $cfg->{-lei_store} //= do {
                require PublicInbox::LeiStore;
-               my $dir = $cfg->{'leistore.dir'};
-               $dir //= $creat ? store_path($self) : return;
+               my $dir = $cfg->{'leistore.dir'} // store_path($self);
+               return unless $creat || -d $dir;
                PublicInbox::LeiStore->new($dir, { creat => $creat });
        };
 }