mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
Prompt for password change when using 'jrnl --encrypt' on already encrypted journal (#1477)
* Create new password if journal already encrypted. * Add test for encrypting already encrypted journal.
This commit is contained in:
parent
7771afc1a7
commit
663f151974
2 changed files with 12 additions and 5 deletions
|
@ -17,6 +17,7 @@ from jrnl.exception import JrnlException
|
||||||
from jrnl.messages import Message
|
from jrnl.messages import Message
|
||||||
from jrnl.messages import MsgText
|
from jrnl.messages import MsgText
|
||||||
from jrnl.messages import MsgType
|
from jrnl.messages import MsgType
|
||||||
|
from jrnl.prompt import create_password
|
||||||
|
|
||||||
|
|
||||||
def preconfig_diagnostic(_):
|
def preconfig_diagnostic(_):
|
||||||
|
@ -84,9 +85,14 @@ def postconfig_encrypt(args, config, original_config, **kwargs):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
journal.config["encrypt"] = True
|
|
||||||
|
|
||||||
new_journal = EncryptedJournal.from_journal(journal)
|
new_journal = EncryptedJournal.from_journal(journal)
|
||||||
|
|
||||||
|
# If journal is encrypted, create new password
|
||||||
|
if journal.config["encrypt"] is True:
|
||||||
|
print(f"Journal {journal.name} is already encrypted. Create a new password.")
|
||||||
|
new_journal.password = create_password(new_journal.name)
|
||||||
|
|
||||||
|
journal.config["encrypt"] = True
|
||||||
new_journal.write(args.filename)
|
new_journal.write(args.filename)
|
||||||
|
|
||||||
print(
|
print(
|
||||||
|
|
|
@ -24,10 +24,11 @@ Feature: Encrypting and decrypting journals
|
||||||
2013-06-10 15:40 Life is good.
|
2013-06-10 15:40 Life is good.
|
||||||
|
|
||||||
|
|
||||||
@todo
|
|
||||||
Scenario: Trying to encrypt an already encrypted journal
|
Scenario: Trying to encrypt an already encrypted journal
|
||||||
# This should warn the user that the journal is already encrypted
|
Given we use the config "encrypted.yaml"
|
||||||
|
When we run "jrnl --encrypt" and enter "bad doggie no biscuit"
|
||||||
|
Then the output should contain "already encrypted. Create a new password."
|
||||||
|
Then we should be prompted for a password
|
||||||
|
|
||||||
Scenario Outline: Encrypting a journal
|
Scenario Outline: Encrypting a journal
|
||||||
Given we use the config "simple.yaml"
|
Given we use the config "simple.yaml"
|
||||||
|
|
Loading…
Add table
Reference in a new issue