mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-07-01 14:56: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
|
# Copyright © 2012-2022 jrnl contributors
|
||||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||||
from jrnl.encryption.BaseEncryption import BaseEncryption
|
from jrnl.encryption.BaseEncryption import BaseEncryption
|
||||||
from jrnl.exception import JrnlException
|
|
||||||
from jrnl.keyring import get_keyring_password
|
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 create_password
|
||||||
|
from jrnl.prompt import prompt_password
|
||||||
|
|
||||||
|
|
||||||
class BasePasswordEncryption(BaseEncryption):
|
class BasePasswordEncryption(BaseEncryption):
|
||||||
|
@ -51,17 +47,6 @@ class BasePasswordEncryption(BaseEncryption):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _prompt_password(self):
|
def _prompt_password(self):
|
||||||
if self._attempts >= self._max_attempts:
|
self._attempts, self.password = prompt_password(
|
||||||
raise JrnlException(
|
self._attempts, self._max_attempts
|
||||||
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,
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Copyright © 2012-2022 jrnl contributors
|
# Copyright © 2012-2022 jrnl contributors
|
||||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||||
|
|
||||||
|
from jrnl.exception import JrnlException
|
||||||
from jrnl.messages import Message
|
from jrnl.messages import Message
|
||||||
from jrnl.messages import MsgStyle
|
from jrnl.messages import MsgStyle
|
||||||
from jrnl.messages import MsgText
|
from jrnl.messages import MsgText
|
||||||
|
@ -42,6 +43,21 @@ def create_password(journal_name: str) -> str:
|
||||||
return pw
|
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:
|
def yesno(prompt: Message, default: bool = True) -> bool:
|
||||||
response = print_msgs(
|
response = print_msgs(
|
||||||
[
|
[
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue