]> Sergey Matveev's repositories - public-inbox.git/commitdiff
lei: support unlinked/missing saved searches
authorEric Wong <e@80x24.org>
Mon, 19 Apr 2021 08:52:10 +0000 (08:52 +0000)
committerEric Wong <e@80x24.org>
Mon, 19 Apr 2021 20:15:55 +0000 (20:15 +0000)
It's conceivable a user will want to erase all previous
results but still rerun/refresh a search to get new results.
We probably won't support prune functionality, here, and
instead require explicit removal of saved searches.

lib/PublicInbox/LeiSavedSearch.pm
t/lei-q-save.t

index d67622c9b08ce6bfc30fa75cef75cb9206ba06ea..94920a4e1178791cdfc8a25e15f5392360c65f77 100644 (file)
@@ -61,11 +61,8 @@ sub list {
        bless $cfg, 'PublicInbox::Config';
        my $out = $cfg->get_all('lei.q.output') or return ();
        map {;
-               if (s!\A(?:maildir|mh|mbox.+|mmdf):!!i) {
-                       -e $_ ? $_ : (); # TODO auto-prune somewhere?
-               } else { # IMAP, maybe JMAP
-                       $_;
-               }
+               s!\A(?:maildir|mh|mbox.+|mmdf):!!i;
+               $_;
        } @$out
 }
 
index 761814b4ebbe2c6a2c836ed7a01b4a99898c0308..4e6ed642a89f6070bcab962cb5b7d5d19175b034 100644 (file)
@@ -67,5 +67,12 @@ test_lei(sub {
        lei_ok qw(_complete lei up);
        like($lei_out, qr!^\Q$home/mbcl2\E$!sm, 'complete got mbcl2 output');
        like($lei_out, qr!^\Q$home/md/\E$!sm, 'complete got maildir output');
+
+       unlink("$home/mbcl2") or xbail "unlink $!";
+       lei_ok qw(_complete lei up);
+       like($lei_out, qr!^\Q$home/mbcl2\E$!sm,
+               'mbcl2 output shown despite unlink');
+       lei_ok([qw(up mbcl2)], undef, { -C => $home, %$lei_opt });
+       ok(-f "$home/mbcl2"  && -s _ == 0, 'up recreates on missing output');
 });
 done_testing;