source.homepage
1from dictionary.sql import user_passwords_query, check_user_passwords_quantity_query 2from dictionary.vars import to_remove_list 3from functions.check_password_health import PasswordValidator 4from functions.query_executor import QueryExecutor 5from functions.login import Login 6import streamlit as st 7 8 9class Home: 10 """ 11 Classe com funções para exibição de dados na página inicial. 12 """ 13 14 def general_information(self): 15 """ 16 Realiza a consulta da quantidade de senhas cadastradas pelo usuário. 17 18 Returns 19 ------- 20 user_passwords_quantity 21 A quantidade de senhas que o usuário já cadastrou. 22 """ 23 logged_user, logged_user_password = Login().get_user_data(return_option="user_login_password") 24 25 query_executor = QueryExecutor() 26 27 user_passwords_quantity = query_executor.simple_consult_query(check_user_passwords_quantity_query, params=(logged_user, logged_user_password)) 28 user_passwords_quantity = query_executor.treat_simple_result(user_passwords_quantity, to_remove_list) 29 30 return user_passwords_quantity 31 32 def password_analysis(self): 33 """ 34 Realiza a análise das senhas. 35 36 Returns 37 ------- 38 very_low : int 39 Quantidade de senhas classificadas como "Muito Fraca". 40 low : int 41 Quantidade de senhas classificadas como "Fraca". 42 medium : int 43 Quantidade de senhas classificadas como "Média". 44 strong : int 45 Quantidade de senhas classificadas como "Forte". 46 very_strong : int 47 Quantidade de senhas classificadas como "Muito Forte". 48 """ 49 logged_user, logged_user_password = Login().get_user_data(return_option="user_login_password") 50 51 query_executor = QueryExecutor() 52 password_validator = PasswordValidator() 53 54 user_passwords = query_executor.complex_consult_query(user_passwords_query, params=(logged_user, logged_user_password)) 55 user_passwords = query_executor.treat_numerous_simple_result(user_passwords, to_remove_list) 56 57 empty_password = '' 58 password_strength = '' 59 60 very_low = 0 61 low = 0 62 medium = 0 63 strong = 0 64 very_strong = 0 65 66 for i in range(0, len(user_passwords)): 67 68 empty_password = user_passwords[i] 69 password_strength = password_validator.check_password_strength(empty_password) 70 71 if password_strength == "Muito Fraca": 72 very_low += 1 73 elif password_strength == "Fraca": 74 low += 1 75 elif password_strength == "Média": 76 medium += 1 77 elif password_strength == "Forte": 78 strong += 1 79 elif password_strength == "Muito Forte": 80 very_strong += 1 81 82 return very_low, low, medium, strong, very_strong 83 84 def main_menu(self): 85 """ 86 Exibe a página inicial da aplicação. 87 """ 88 col1, col2, col3 = st.columns(3) 89 90 with col1: 91 st.header(body=":closed_lock_with_key: Streamfort") 92 93 st.divider() 94 95 col4, col5, col6 = st.columns(3) 96 97 with col5: 98 99 user_passwords_quantity = int(self.general_information()) 100 101 if user_passwords_quantity >= 1: 102 get_very_low, get_low, get_medium, get_strong, get_very_strong = self.password_analysis() 103 104 with st.expander(label="Análise de Senhas", expanded=True): 105 st.info(body="Senhas cadastradas: {}".format(user_passwords_quantity)) 106 st.divider() 107 st.error(body="Senhas muito fracas: {}.".format(get_very_low)) 108 st.warning(body="Senhas fracas: {}.".format(get_low)) 109 st.info(body="Senhas médias: {}.".format(get_medium)) 110 st.info(body="Senhas fortes: {}.".format(get_strong)) 111 st.success(body="Senhas muito fortes: {}.".format(get_very_strong)) 112 113 elif user_passwords_quantity == 0: 114 st.warning(body="Você ainda não possui senhas cadastradas.")
class
Home:
10class Home: 11 """ 12 Classe com funções para exibição de dados na página inicial. 13 """ 14 15 def general_information(self): 16 """ 17 Realiza a consulta da quantidade de senhas cadastradas pelo usuário. 18 19 Returns 20 ------- 21 user_passwords_quantity 22 A quantidade de senhas que o usuário já cadastrou. 23 """ 24 logged_user, logged_user_password = Login().get_user_data(return_option="user_login_password") 25 26 query_executor = QueryExecutor() 27 28 user_passwords_quantity = query_executor.simple_consult_query(check_user_passwords_quantity_query, params=(logged_user, logged_user_password)) 29 user_passwords_quantity = query_executor.treat_simple_result(user_passwords_quantity, to_remove_list) 30 31 return user_passwords_quantity 32 33 def password_analysis(self): 34 """ 35 Realiza a análise das senhas. 36 37 Returns 38 ------- 39 very_low : int 40 Quantidade de senhas classificadas como "Muito Fraca". 41 low : int 42 Quantidade de senhas classificadas como "Fraca". 43 medium : int 44 Quantidade de senhas classificadas como "Média". 45 strong : int 46 Quantidade de senhas classificadas como "Forte". 47 very_strong : int 48 Quantidade de senhas classificadas como "Muito Forte". 49 """ 50 logged_user, logged_user_password = Login().get_user_data(return_option="user_login_password") 51 52 query_executor = QueryExecutor() 53 password_validator = PasswordValidator() 54 55 user_passwords = query_executor.complex_consult_query(user_passwords_query, params=(logged_user, logged_user_password)) 56 user_passwords = query_executor.treat_numerous_simple_result(user_passwords, to_remove_list) 57 58 empty_password = '' 59 password_strength = '' 60 61 very_low = 0 62 low = 0 63 medium = 0 64 strong = 0 65 very_strong = 0 66 67 for i in range(0, len(user_passwords)): 68 69 empty_password = user_passwords[i] 70 password_strength = password_validator.check_password_strength(empty_password) 71 72 if password_strength == "Muito Fraca": 73 very_low += 1 74 elif password_strength == "Fraca": 75 low += 1 76 elif password_strength == "Média": 77 medium += 1 78 elif password_strength == "Forte": 79 strong += 1 80 elif password_strength == "Muito Forte": 81 very_strong += 1 82 83 return very_low, low, medium, strong, very_strong 84 85 def main_menu(self): 86 """ 87 Exibe a página inicial da aplicação. 88 """ 89 col1, col2, col3 = st.columns(3) 90 91 with col1: 92 st.header(body=":closed_lock_with_key: Streamfort") 93 94 st.divider() 95 96 col4, col5, col6 = st.columns(3) 97 98 with col5: 99 100 user_passwords_quantity = int(self.general_information()) 101 102 if user_passwords_quantity >= 1: 103 get_very_low, get_low, get_medium, get_strong, get_very_strong = self.password_analysis() 104 105 with st.expander(label="Análise de Senhas", expanded=True): 106 st.info(body="Senhas cadastradas: {}".format(user_passwords_quantity)) 107 st.divider() 108 st.error(body="Senhas muito fracas: {}.".format(get_very_low)) 109 st.warning(body="Senhas fracas: {}.".format(get_low)) 110 st.info(body="Senhas médias: {}.".format(get_medium)) 111 st.info(body="Senhas fortes: {}.".format(get_strong)) 112 st.success(body="Senhas muito fortes: {}.".format(get_very_strong)) 113 114 elif user_passwords_quantity == 0: 115 st.warning(body="Você ainda não possui senhas cadastradas.")
Classe com funções para exibição de dados na página inicial.
def
general_information(self):
15 def general_information(self): 16 """ 17 Realiza a consulta da quantidade de senhas cadastradas pelo usuário. 18 19 Returns 20 ------- 21 user_passwords_quantity 22 A quantidade de senhas que o usuário já cadastrou. 23 """ 24 logged_user, logged_user_password = Login().get_user_data(return_option="user_login_password") 25 26 query_executor = QueryExecutor() 27 28 user_passwords_quantity = query_executor.simple_consult_query(check_user_passwords_quantity_query, params=(logged_user, logged_user_password)) 29 user_passwords_quantity = query_executor.treat_simple_result(user_passwords_quantity, to_remove_list) 30 31 return user_passwords_quantity
Realiza a consulta da quantidade de senhas cadastradas pelo usuário.
Returns
- user_passwords_quantity: A quantidade de senhas que o usuário já cadastrou.
def
password_analysis(self):
33 def password_analysis(self): 34 """ 35 Realiza a análise das senhas. 36 37 Returns 38 ------- 39 very_low : int 40 Quantidade de senhas classificadas como "Muito Fraca". 41 low : int 42 Quantidade de senhas classificadas como "Fraca". 43 medium : int 44 Quantidade de senhas classificadas como "Média". 45 strong : int 46 Quantidade de senhas classificadas como "Forte". 47 very_strong : int 48 Quantidade de senhas classificadas como "Muito Forte". 49 """ 50 logged_user, logged_user_password = Login().get_user_data(return_option="user_login_password") 51 52 query_executor = QueryExecutor() 53 password_validator = PasswordValidator() 54 55 user_passwords = query_executor.complex_consult_query(user_passwords_query, params=(logged_user, logged_user_password)) 56 user_passwords = query_executor.treat_numerous_simple_result(user_passwords, to_remove_list) 57 58 empty_password = '' 59 password_strength = '' 60 61 very_low = 0 62 low = 0 63 medium = 0 64 strong = 0 65 very_strong = 0 66 67 for i in range(0, len(user_passwords)): 68 69 empty_password = user_passwords[i] 70 password_strength = password_validator.check_password_strength(empty_password) 71 72 if password_strength == "Muito Fraca": 73 very_low += 1 74 elif password_strength == "Fraca": 75 low += 1 76 elif password_strength == "Média": 77 medium += 1 78 elif password_strength == "Forte": 79 strong += 1 80 elif password_strength == "Muito Forte": 81 very_strong += 1 82 83 return very_low, low, medium, strong, very_strong
Realiza a análise das senhas.
Returns
- very_low (int): Quantidade de senhas classificadas como "Muito Fraca".
- low (int): Quantidade de senhas classificadas como "Fraca".
- medium (int): Quantidade de senhas classificadas como "Média".
- strong (int): Quantidade de senhas classificadas como "Forte".
- very_strong (int): Quantidade de senhas classificadas como "Muito Forte".