From 7a7818ef24d8fd3d19b96cb81b30019989ede115 Mon Sep 17 00:00:00 2001 From: Olly Britton Date: Sat, 16 May 2020 20:55:04 +0100 Subject: [PATCH] Ask for password before adding entry instead of after (#951) * ask for password before adding entry (#799) This fixes #799 because previously it would allow you to create an entry using your editor and then attempt to open the journal. This behaviour is fine for unencrypted journals but with encrypted journals it means that if you get the password wrong three times then the entry you just wrote is lost. Swapping the order around so that the entry is opened first in the code and then the editor is added means that this can't happen. --- jrnl/cli.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/jrnl/cli.py b/jrnl/cli.py index 070d134b..148408d3 100644 --- a/jrnl/cli.py +++ b/jrnl/cli.py @@ -345,6 +345,13 @@ def run(manual_args=None): else: _exit_multiline_code = "press Ctrl+D" + # This is where we finally open the journal! + try: + journal = open_journal(journal_name, config) + except KeyboardInterrupt: + print("[Interrupted while opening journal]", file=sys.stderr) + sys.exit(1) + if mode_compose and not args.text: if not sys.stdin.isatty(): # Piping data into jrnl @@ -376,13 +383,6 @@ def run(manual_args=None): else: sys.exit() - # This is where we finally open the journal! - try: - journal = open_journal(journal_name, config) - except KeyboardInterrupt: - print("[Interrupted while opening journal]", file=sys.stderr) - sys.exit(1) - # Import mode if mode_import: plugins.get_importer(args.import_).import_(journal, args.input)