Open Jvladimirweb opened 1 year ago
Estudando e melhorando cada vez mais o código!
Mais alguns passos em meu código, Criadas mais algumas funções e funcionalidades.
Código com comentários iniciais e com a o código da conexao separado importado como módulo
import conexao as c
''' Conjunto de variaveis para validaçoes iniciais ''' ver = False autenticado = False userMaster = False entrecadastro = False
'''Função criada para verificar o tipo de usuário está logando''' def logaUser(): nome = input('Digite o nome: ') senha = input('Digite a senha: ') verifica = False try: with c.conexao.cursor() as cursor: cursor.execute('select * from cadastros where nome="{}" AND senha="{}"'.format(nome, senha)) resultado = cursor.fetchall() if len(resultado) > 0: verifica = True if resultado[0]['nivel'] == 1: print('Bem vindo ', resultado[0]['nome'], 'voce é nivel 1') userMaster = False elif resultado[0]['nivel'] == 2: print('Bem vindo ', resultado[0]['nome'], ', voce é nivel 2') userAdmLogado() else: print('Não encontramos este usuário, por favor verificar nome ou senha:') except: print('Erro') return verifica
'''Função para dadastrar usuários, sempre em nivel basico''' def cadUser(): nome = input('Digite o nome: ') senha = input('Digite a senha: ') try: with c.conexao.cursor() as cursor: cursor.execute('select * from cadastros where nome="{}" AND senha="{}"'.format(nome, senha)) resultado = cursor.fetchall() if len(resultado) > 0: print('Usuário já cadastrado, tente outr nome ou outra senha') else: cursor.execute('insert into cadastros(nome, senha, nivel) values (%s, %s, %s)', (nome, senha, 1)) c.conexao.commit() c.conexao.close() print('Cadastrado com sucesso!') except: print('Falha no banco')
'''Função para movimentaçoes no bd pelo user adm após ele logar, chama a função cadastroProduto''' def userAdmLogado(): while not entrecadastro: opcoesCadastro = int(input('Digite 1 para cadastrar um novo produto, 2 para listar produtos, ou 3 para sair: ')) if opcoesCadastro == 1: cadastroProdutos() cadastroProdutos() elif opcoesCadastro == 2: listaProdutos() elif opcoesCadastro == 3: print('Saiu!') break else: print('Nenhuma opção valida!')
'''Função para cadastro de produtos, apenas users adm podem fazer''' def cadastroProdutos(): nome = input('Digite o nome do produto: ') ingrediente = input('Digite os ingredientes do produto: ') grupo = input('Qual grupo este produto pertence: ') preco = float(input('Digite o preço deste produto: ')) try: with c.conexao.cursor() as cursor: cursor.execute('insert into produtos (nome, ingredientes, grupo, preco) VALUES (%s, %s, %s, %s)', (nome, ingrediente, grupo, preco)) c.conexao.commit() print('Seu produto foi cadastrada com sucesso!') userAdmLogado() except: print('Erro em cadastrar o produto, verifique se digitou algo errado!')
'''Função para listar, deletar ou auterar produtos, chama a função deletarProdutos''' def listaProdutos(): produtos = [] escolha = 0 try: with c.conexao.cursor() as cursor: cursor.execute('select * from produtos') productResult = cursor.fetchall() except: print('Erro ao conetcar para listar produtos!') for i in productResult: produtos.append(i) if len(produtos) != 0: for i in range(0, len(produtos)): print('ID: ', produtos[i]['id'], 'Produto: ', produtos[i]['nome']) deleta = int(input('Escolha entre 1 para deletar algum produto, 2 para editar ou 0 para sair: ')) if deleta == 1: deletaProduto() elif deleta == 2: print('Ainda não desenvolvemos esta parte!') elif deleta == 0: escolha = deleta
'''Função criada para deletar produtos''' def deletaProduto(): delet = int(input('Digite o numero do id que deseja deletar: ')) try: with c.conexao.cursor() as cursor: cursor.execute('delete from produtos where id="{}"'.format(delet)) c.conexao.commit() print('Produto excluido com sucesso!') except: print('Falha ao tentar deletar')
'''Bloco inicial para seleção das açoes de entrada do user''' while not ver: try: escolha = int(input('Digite 1 para logar, 2 para cadastrar ou 3 para sair: ')) if escolha == 3: verifica = True elif escolha == 1: ver = logaUser() elif escolha == 2: cadUser() else: print('O valor digitado não é valido, verifique e tente novamente!')