mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48: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
3ec0839748
commit
a708c15eb7
3 changed files with 21 additions and 1 deletions
|
@ -160,6 +160,9 @@ def append_mode(args: "Namespace", config: dict, journal: "Journal", **kwargs) -
|
||||||
if not raw or raw.isspace():
|
if not raw or raw.isspace():
|
||||||
logging.error("Append mode: couldn't get raw text or entry was empty")
|
logging.error("Append mode: couldn't get raw text or entry was empty")
|
||||||
raise JrnlException(Message(MsgText.NoTextReceived, MsgStyle.NORMAL))
|
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(
|
logging.debug(
|
||||||
f"Append mode: appending raw text to journal '{args.journal_name}': {raw}"
|
f"Append mode: appending raw text to journal '{args.journal_name}': {raw}"
|
||||||
|
|
|
@ -164,7 +164,9 @@ class MsgText(Enum):
|
||||||
NoTextReceived = """
|
NoTextReceived = """
|
||||||
No entry to save, because no text was received
|
No entry to save, because no text was received
|
||||||
"""
|
"""
|
||||||
|
NoChangesToTemplate = """
|
||||||
|
No entry to save, because the template was not changed
|
||||||
|
"""
|
||||||
# --- Upgrade --- #
|
# --- Upgrade --- #
|
||||||
JournalFailedUpgrade = """
|
JournalFailedUpgrade = """
|
||||||
The following journal{s} failed to upgrade:
|
The following journal{s} failed to upgrade:
|
||||||
|
|
|
@ -6,9 +6,12 @@ Feature: Using templates
|
||||||
Scenario Outline: Template contents should be used in new entry
|
Scenario Outline: Template contents should be used in new entry
|
||||||
Given we use the config "<config_file>"
|
Given we use the config "<config_file>"
|
||||||
And we use the password "test" if prompted
|
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"
|
When we run "jrnl --config-override template features/templates/basic.template"
|
||||||
And we run "jrnl -1"
|
And we run "jrnl -1"
|
||||||
Then the output should contain "This text is in the basic template"
|
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
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
|
@ -17,3 +20,15 @@ Feature: Using templates
|
||||||
| basic_folder.yaml |
|
| basic_folder.yaml |
|
||||||
| basic_dayone.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