mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 00:28:31 +02:00
Don't save templated journal entries if the received raw text is the same as the template itself (#1653)
This commit is contained in:
parent
6c6937c507
commit
b41a988d6f
3 changed files with 21 additions and 1 deletions
|
@ -150,6 +150,9 @@ def write_mode(args: "Namespace", config: dict, journal: Journal, **kwargs) -> N
|
|||
if not raw or raw.isspace():
|
||||
logging.error("Write mode: couldn't get raw text or entry was empty")
|
||||
raise JrnlException(Message(MsgText.NoTextReceived, MsgStyle.NORMAL))
|
||||
if config["template"] and raw == _get_editor_template(config):
|
||||
logging.error("Write mode: raw text was the same as the template")
|
||||
raise JrnlException(Message(MsgText.NoChangesToTemplate, MsgStyle.NORMAL))
|
||||
|
||||
logging.debug(
|
||||
'Write mode: appending raw text to journal "%s": %s', args.journal_name, raw
|
||||
|
|
|
@ -156,7 +156,9 @@ class MsgText(Enum):
|
|||
NoTextReceived = """
|
||||
No entry to save, because no text was received
|
||||
"""
|
||||
|
||||
NoChangesToTemplate = """
|
||||
No entry to save, because the template was not changed
|
||||
"""
|
||||
# --- Upgrade --- #
|
||||
JournalFailedUpgrade = """
|
||||
The following journal{s} failed to upgrade:
|
||||
|
|
|
@ -6,9 +6,12 @@ Feature: Using templates
|
|||
Scenario Outline: Template contents should be used in new entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we append to the editor if opened
|
||||
This is an addition to a templated entry
|
||||
When we run "jrnl --config-override template features/templates/basic.template"
|
||||
And we run "jrnl -1"
|
||||
Then the output should contain "This text is in the basic template"
|
||||
Then the output should contain "This is an addition to a templated entry"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
|
@ -17,3 +20,15 @@ Feature: Using templates
|
|||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Templated entry should not be saved if template is unchanged
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override template features/templates/basic.template"
|
||||
Then the output should contain "No entry to save, because the template was not changed"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
Loading…
Add table
Reference in a new issue