diff options
author | Eric Wong <e@80x24.org> | 2021-04-17 10:24:45 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-04-17 20:16:42 +0000 |
commit | 74cac24c6238c73279a82f18c7a6f11d387756bb (patch) | |
tree | 0a615ec843f25f8dd37b65fccec8d5da0a188505 /lib/PublicInbox | |
parent | e002b3bef06e9b812e95f67fcf723a1aaf632dd7 (diff) | |
download | public-inbox-74cac24c6238c73279a82f18c7a6f11d387756bb.tar.gz |
We always represent --output destination directories with a trailing slash to disambiguate directories from mbox filenames. Therefore, we must use the trailing slash when mapping the destination beck from the lei/saved-search/* directory. "lei up" now relies exclusively on the users --output pathname or URL for updates. This ought to be less confusing since pathnames in ~/.local/store/lei/saved-searches aren't ideal.
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r-- | lib/PublicInbox/LeiSavedSearch.pm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/PublicInbox/LeiSavedSearch.pm b/lib/PublicInbox/LeiSavedSearch.pm index 932b2aa4..0f632d93 100644 --- a/lib/PublicInbox/LeiSavedSearch.pm +++ b/lib/PublicInbox/LeiSavedSearch.pm @@ -26,18 +26,21 @@ sub lss_dir_for ($$) { } else { # basename @n = ($$dstref =~ m{([\w\-\.]+)/*\z}); $$dstref = $lei->rel2abs($$dstref); + $$dstref .= '/' if -d $$dstref; } push @n, sha256_hex($$dstref); $lei->share_path . '/saved-searches/' . join('-', @n); } sub new { - my ($cls, $lei, $dir) = @_; + my ($cls, $lei, $dst) = @_; my $self = bless { ale => $lei->ale }, $cls; - if (defined $dir) { # updating existing saved search via "lei up" - my $f = "$dir/lei.saved-search"; - ((-f $f && -r _) || output2lssdir($self, $lei, \$dir, \$f)) or - return $lei->fail("$f non-existent or unreadable"); + my $dir; + if (defined $dst) { # updating existing saved search via "lei up" + my $f; + $dir = $dst; + output2lssdir($self, $lei, \$dir, \$f) or + return $lei->fail("--save was not used with $dst"); $self->{-cfg} //= PublicInbox::Config::git_config_dump($f); $self->{'-f'} = $f; } else { # new saved search "lei q --save" |