diff --git a/jrnl/Journal.py b/jrnl/Journal.py index b0cadf06..17de129f 100644 --- a/jrnl/Journal.py +++ b/jrnl/Journal.py @@ -407,6 +407,12 @@ def open_journal(journal_name, config, legacy=False): config["journal"] = os.path.expanduser(os.path.expandvars(config["journal"])) if os.path.isdir(config["journal"]): + if config["encrypt"]: + print( + "Warning: This journal's config has 'encrypt' set to true, but this type of journal can't be encrypted.", + file=sys.stderr, + ) + if config["journal"].strip("/").endswith(".dayone") or "entries" in os.listdir( config["journal"] ): diff --git a/tests/bdd/features/encrypt.feature b/tests/bdd/features/encrypt.feature index 02bff32f..af141172 100644 --- a/tests/bdd/features/encrypt.feature +++ b/tests/bdd/features/encrypt.feature @@ -41,9 +41,16 @@ Feature: Encrypting and decrypting journals Then we should be prompted for a password And the output should contain "2013-06-10 15:40 Life is good" + + Scenario Outline: Running jrnl with encrypt: true on unencryptable journals + Given we use the config "" + When we run "jrnl --config-override encrypt true here is a new entry" + Then the error output should contain "this type of journal can't be encrypted" + Examples: configs - | config_file | - | basic_onefile.yaml | + | config_file | + | basic_folder.yaml | + | basic_dayone.yaml | Scenario Outline: Attempt to encrypt a folder or DayOne journal should result in an error