From d6579d3e7a811abe5a112b43dd9f09658e89abaf Mon Sep 17 00:00:00 2001 From: Richard Schneider Date: Sat, 30 Apr 2022 21:52:24 -0500 Subject: [PATCH] When using --edit and --change-time, change the time before editing --- jrnl/jrnl.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index 446ffeab..bdd6526f 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -171,16 +171,24 @@ def search_mode(args, journal, **kwargs): # Where do the search results go? if args.edit: - _edit_search_results(**kwargs) # If we want to both edit and change time in one action if args.change_time: - # Re-filter the journal enties (_edit_search_results puts - # the filtered entries back) - kwargs["old_entries"] = journal.entries - _search_journal(**kwargs) + # Generate a new list instead of assigning so it won't be + # modified by _change_time_search_results + selected_entries = [e for e in journal.entries] + no_change_time_prompt = len(journal.entries) == 1 _change_time_search_results(no_prompt=no_change_time_prompt, **kwargs) + # Re-filter the journal enties (_change_time_search_results + # puts the filtered entries back); use selected_entries + # instead of running _search_journal again, because times + # have changed since the original search + kwargs["old_entries"] = journal.entries + journal.entries = selected_entries + + _edit_search_results(**kwargs) + elif args.change_time: _change_time_search_results(**kwargs)