Дополнение, вход по клавише enter и кнопка скопировать логин.
							parent
							
								
									7b8445ee47
								
							
						
					
					
						commit
						19eca87c7e
					
				
							
								
								
									
										25
									
								
								main.py
								
								
								
								
							
							
						
						
									
										25
									
								
								main.py
								
								
								
								
							| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
# Key Master v1.01
 | 
			
		||||
# 04/09/2021
 | 
			
		||||
# Key Master v1.02
 | 
			
		||||
# 24/12/2021
 | 
			
		||||
# https://t.me/ssleg  © 2021
 | 
			
		||||
 | 
			
		||||
import sqlite3
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ import cryptocode
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
class LoginCard:
 | 
			
		||||
    """класс хранения карточки логина/пароля"""
 | 
			
		||||
    """Класс хранения карточки логина/пароля"""
 | 
			
		||||
 | 
			
		||||
    __slots__ = ['__row_id', '__encrypt_key', '__hash', '__name', '__login', '__password']
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ class LoginCard:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
class AllCards:
 | 
			
		||||
    """класс хранения всех карточек"""
 | 
			
		||||
    """Класс хранения всех карточек"""
 | 
			
		||||
 | 
			
		||||
    __slots__ = ['__encrypt_key', '__cards']
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -263,17 +263,19 @@ def system_init():
 | 
			
		|||
 | 
			
		||||
# окно ввода и проверки пароля
 | 
			
		||||
def system_login():
 | 
			
		||||
    qt_enter_key1 = 'special 16777220'
 | 
			
		||||
    qt_enter_key2 = 'special 16777221'
 | 
			
		||||
    attempts = 3
 | 
			
		||||
    status = False
 | 
			
		||||
    password = ''
 | 
			
		||||
    layout = [[Sg.Text('Пароль:'), Sg.InputText(size=(20, 1), border_width=3, password_char='*')],
 | 
			
		||||
              [Sg.Button('Ok'), Sg.Text('', key='Err_text', text_color='firebrick1', font='style:bold')]]
 | 
			
		||||
    window = Sg.Window("KeyMaster - вход", layout)
 | 
			
		||||
    window = Sg.Window("KeyMaster - вход", layout, return_keyboard_events=True)
 | 
			
		||||
    while True:
 | 
			
		||||
        event, values = window.read()
 | 
			
		||||
        if event == Sg.WIN_CLOSED:
 | 
			
		||||
            break
 | 
			
		||||
        if event == 'Ok':
 | 
			
		||||
        if event == 'Ok' or event in ('\r', qt_enter_key1, qt_enter_key2):
 | 
			
		||||
            input_word = values[0]
 | 
			
		||||
            if len(input_word) >= 4:
 | 
			
		||||
                password = sha256(input_word.encode()).hexdigest()
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +407,8 @@ def main():
 | 
			
		|||
                          size=(20, 10), key='list'), Sg.Text(key='card')],
 | 
			
		||||
              [Sg.Button('Добавить'), Sg.Button('Редактировать', disabled=True, key='edit'),
 | 
			
		||||
               Sg.Button('Скопировать пароль', disabled=True, key='copy')],
 | 
			
		||||
              [Sg.Button('Удалить', disabled=True, key='delete')]]
 | 
			
		||||
              [Sg.Button('Удалить', disabled=True, key='delete'), Sg.Text('                               '),
 | 
			
		||||
               Sg.Button('Скопировать логин', disabled=True, key='copy_login')]]
 | 
			
		||||
    window = Sg.Window("KeyMaster - главная", layout)
 | 
			
		||||
    while True:
 | 
			
		||||
        event, values = window.read()
 | 
			
		||||
| 
						 | 
				
			
			@ -417,6 +420,7 @@ def main():
 | 
			
		|||
            if not keys_disabled:
 | 
			
		||||
                window.Element('edit').update(disabled=True)
 | 
			
		||||
                window.Element('copy').update(disabled=True)
 | 
			
		||||
                window.Element('copy_login').update(disabled=True)
 | 
			
		||||
                window.Element('delete').update(disabled=True)
 | 
			
		||||
                keys_disabled = True
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -434,6 +438,7 @@ def main():
 | 
			
		|||
                if keys_disabled:
 | 
			
		||||
                    window.Element('edit').update(disabled=False)
 | 
			
		||||
                    window.Element('copy').update(disabled=False)
 | 
			
		||||
                    window.Element('copy_login').update(disabled=False)
 | 
			
		||||
                    window.Element('delete').update(disabled=False)
 | 
			
		||||
                    keys_disabled = False
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -446,6 +451,12 @@ def main():
 | 
			
		|||
                password = my_cards.get_card_password(name[0])
 | 
			
		||||
                Sg.clipboard_set(password)
 | 
			
		||||
 | 
			
		||||
        if event == 'copy_login':
 | 
			
		||||
            name = window.Element('list').get()
 | 
			
		||||
            if len(name) > 0:
 | 
			
		||||
                login = my_cards.get_card_login(name[0])
 | 
			
		||||
                Sg.clipboard_set(login)
 | 
			
		||||
 | 
			
		||||
        if event == 'edit':
 | 
			
		||||
            name = window.Element('list').get()
 | 
			
		||||
            if len(name) > 0:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue