mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-06-30 22:46:12 +02:00
move prompt into prompt.py
This commit is contained in:
parent
a9c78272ad
commit
dbeb2c2128
2 changed files with 19 additions and 18 deletions
|
@ -1,13 +1,9 @@
|
|||
# Copyright © 2012-2022 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
from jrnl.encryption.BaseEncryption import BaseEncryption
|
||||
from jrnl.exception import JrnlException
|
||||
from jrnl.keyring import get_keyring_password
|
||||
from jrnl.messages import Message
|
||||
from jrnl.messages import MsgStyle
|
||||
from jrnl.messages import MsgText
|
||||
from jrnl.output import print_msg
|
||||
from jrnl.prompt import create_password
|
||||
from jrnl.prompt import prompt_password
|
||||
|
||||
|
||||
class BasePasswordEncryption(BaseEncryption):
|
||||
|
@ -51,17 +47,6 @@ class BasePasswordEncryption(BaseEncryption):
|
|||
return result
|
||||
|
||||
def _prompt_password(self):
|
||||
if self._attempts >= self._max_attempts:
|
||||
raise JrnlException(
|
||||
Message(MsgText.PasswordMaxTriesExceeded, MsgStyle.ERROR)
|
||||
)
|
||||
|
||||
if self._attempts > 0:
|
||||
print_msg(Message(MsgText.WrongPasswordTryAgain, MsgStyle.WARNING))
|
||||
|
||||
self._attempts += 1
|
||||
self.password = print_msg(
|
||||
Message(MsgText.Password, MsgStyle.PROMPT),
|
||||
get_input=True,
|
||||
hide_input=True,
|
||||
self._attempts, self.password = prompt_password(
|
||||
self._attempts, self._max_attempts
|
||||
)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Copyright © 2012-2022 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from jrnl.exception import JrnlException
|
||||
from jrnl.messages import Message
|
||||
from jrnl.messages import MsgStyle
|
||||
from jrnl.messages import MsgText
|
||||
|
@ -42,6 +43,21 @@ def create_password(journal_name: str) -> str:
|
|||
return pw
|
||||
|
||||
|
||||
def prompt_password(attempts: int, max_attempts: int) -> tuple[int, str | None]:
|
||||
if attempts >= max_attempts:
|
||||
raise JrnlException(Message(MsgText.PasswordMaxTriesExceeded, MsgStyle.ERROR))
|
||||
|
||||
if attempts > 0:
|
||||
print_msg(Message(MsgText.WrongPasswordTryAgain, MsgStyle.WARNING))
|
||||
|
||||
attempts += 1
|
||||
return attempts, print_msg(
|
||||
Message(MsgText.Password, MsgStyle.PROMPT),
|
||||
get_input=True,
|
||||
hide_input=True,
|
||||
)
|
||||
|
||||
|
||||
def yesno(prompt: Message, default: bool = True) -> bool:
|
||||
response = print_msgs(
|
||||
[
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue