示例#1
0
    def new_password(cls, purpose: str = "master password") -> str:
        """Prompt the user to enter and confirm a new password."""
        password_1 = pwd_prompt(f"Enter a new {purpose}: ")

        if password_1 == GENERATE:
            pwd_bit_strength, password_1 = MasterKey.generate_master_password()

            m_print([
                f"Generated a {pwd_bit_strength}-bit password:"******"Write down this password and dispose of the copy once you remember it.",
                "Press <Enter> to continue."
            ],
                    manual_proceed=True,
                    box=True,
                    head=1,
                    tail=1)
            reset_terminal()

            password_2 = password_1
        else:
            password_2 = pwd_prompt(f"Confirm the {purpose}: ", repeat=True)

        if password_1 == password_2:
            return password_1

        m_print("Error: Passwords did not match. Try again.", head=1, tail=1)
        print_on_previous_line(delay=1, reps=7)
        return cls.new_password(purpose)
示例#2
0
 def new_password(cls, purpose="master password"):
     password_1 = pwd_prompt(f"Enter a new {purpose}: ", '┌', '┐')
     password_2 = pwd_prompt(f"Confirm the {purpose}: ", '├', '┤')
     if password_1 == password_2:
         return password_1
     else:
         return cls.new_password(purpose)
示例#3
0
    def new_password(cls, purpose: str = "master password") -> str:
        """Prompt the user to enter and confirm a new password."""
        password_1 = pwd_prompt(f"Enter a new {purpose}: ")
        password_2 = pwd_prompt(f"Confirm the {purpose}: ", repeat=True)

        if password_1 == password_2:
            return password_1
        else:
            m_print("Error: Passwords did not match. Try again.", head=1, tail=1)
            print_on_previous_line(delay=1, reps=7)
            return cls.new_password(purpose)
示例#4
0
    def new_password(cls, purpose: str = "master password") -> str:
        """Prompt user to enter and confirm a new password."""
        password_1 = pwd_prompt(f"Enter a new {purpose}: ", '┌', '┐')
        password_2 = pwd_prompt(f"Confirm the {purpose}: ", '├', '┤')

        if password_1 == password_2:
            return password_1
        else:
            c_print("Error: Passwords did not match. Try again.",
                    head=1,
                    tail=1)
            time.sleep(1)
            print_on_previous_line(reps=7)
            return cls.new_password(purpose)
示例#5
0
文件: test_input.py 项目: barleyj/tfc
    def test_pwd_prompt(self):
        # Setup
        o_getpass = getpass.getpass
        getpass.getpass = lambda x: 'testpwd'

        # Test
        self.assertEqual(pwd_prompt("test prompt", '┌', '┐'), 'testpwd')

        # Teardown
        getpass.getpass = o_getpass
示例#6
0
 def get_password(cls, purpose: str = "master password") -> str:
     """Load password from user."""
     return pwd_prompt(f"Enter {purpose}: ", '┌', '┐')
示例#7
0
 def test_pwd_prompt(self, _):
     self.assertEqual(pwd_prompt("test prompt"), 'test_password')
示例#8
0
 def get_password(cls, purpose: str = "master password") -> str:
     """Prompt the user to enter a password."""
     return pwd_prompt(f"Enter {purpose}: ")
示例#9
0
文件: test_input.py 项目: xprog12/tfc
 def test_pwd_prompt(self, _: Any) -> None:
     self.assertEqual(pwd_prompt("test prompt"), 'test_password')
示例#10
0
 def get_password(cls, purpose="master password"):
     return pwd_prompt(f"Enter {purpose}: ", '┌', '┐')
示例#11
0
 def test_pwd_prompt(self):
     self.assertEqual(pwd_prompt("test prompt"), 'testpwd')