def cadastrarDieta(nomeUsuarioCliente, nomeUsuarioNutricionista): dietasCadastradas = read.readFileDieta() if nomeUsuarioCliente not in list(dietasCadastradas.keys()): dietasCadastradas[nomeUsuarioCliente] = {} if nomeUsuarioNutricionista not in list(dietasCadastradas.keys()): dietasCadastradas[nomeUsuarioNutricionista] = {} if nomeUsuarioCliente + nomeUsuarioNutricionista in list( dietasCadastradas[nomeUsuarioCliente].keys()): print('Você já possui uma dieta com esse nutricionista!.') op = input( "Deseja deletar a atual e criar uma nova? (s/N)\n>>> ").lower() if op == 's': insert.insertHistorioAlimentar(nomeUsuarioCliente, nomeUsuarioNutricionista) delete.deletarDieta(nomeUsuarioCliente, nomeUsuarioNutricionista) cadastrarDieta(nomeUsuarioCliente, nomeUsuarioNutricionista) else: tipoDieta = input( "Informe o tipo de Dieta: \n1) - Emagrecer \n2) - Ganhar Massa Muscular \n>>> " ) tipoDieta = "Emagrecer" if tipoDieta == "1" else "Ganhar massa muscular." dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuarioNutricionista] = Dieta( nomeUsuarioCliente, nomeUsuarioNutricionista, tipoDieta) dietasCadastradas[nomeUsuarioNutricionista][ nomeUsuarioCliente + nomeUsuarioNutricionista] = Dieta( nomeUsuarioCliente, nomeUsuarioNutricionista, tipoDieta) insert.insertDieta(dietasCadastradas)
def chatBox(nomeUsuarioCliente, nomeUsuarioNutricionista): print(''' # ################################################# # ############# BEM VINDO AO CHAT BOX ########### # ################################################# # ################################################# ''') dietasCadastradas = read.readFileDieta() print(dietasCadastradas[nomeUsuarioCliente] [nomeUsuarioCliente + nomeUsuarioNutricionista].getConversaNutricionista()) print( ">>> (Digite go() para enviar a mensagem, exit() para sair do chatbox ou clear() para limpar a conversa" ) while True: msg = '' p = '' command = False while p != 'go()' and p != 'exit()': p = input(">>> ") msg += p + '\n' if p == 'clear()': dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuarioNutricionista].limparConversaNutricionista() dietasCadastradas[nomeUsuarioNutricionista][ nomeUsuarioCliente + nomeUsuarioNutricionista].limparConversaNutricionista() insert.insertDieta(dietasCadastradas) if p == 'go()': command = True msg = msg.replace('go()', '').replace('exit()', '').replace('clear()', '') if command: if not msg.replace('\n', '').count(' ') == len( msg.replace('\n', '')): dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuarioNutricionista].setConversaCliente( '- [' + str(datetime.now())[:-7] + '] ' + nomeUsuarioNutricionista + ': ' + msg + '\n\n') dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuarioNutricionista].setConversaNutricionista( '- [' + str(datetime.now())[:-7] + '] ' + nomeUsuarioNutricionista + ': ' + msg + '\n\n') dietasCadastradas[nomeUsuarioNutricionista][ nomeUsuarioCliente + nomeUsuarioNutricionista].setConversaCliente( '- [' + str(datetime.now())[:-7] + '] ' + nomeUsuarioNutricionista + ': ' + msg + '\n\n') dietasCadastradas[nomeUsuarioNutricionista][ nomeUsuarioCliente + nomeUsuarioNutricionista].setConversaNutricionista( '- [' + str(datetime.now())[:-7] + '] ' + nomeUsuarioNutricionista + ': ' + msg + '\n\n') insert.insertDieta(dietasCadastradas) else: break
def deletarDieta(nomeUsuarioCliente, nomeUsuarioNutricionista): dietasCadastradas = read.readFileDieta() insert.insertHistorioAlimentar(nomeUsuarioCliente, nomeUsuarioNutricionista) del dietasCadastradas[nomeUsuarioCliente][nomeUsuarioCliente + nomeUsuarioNutricionista] del dietasCadastradas[nomeUsuarioNutricionista][nomeUsuarioCliente + nomeUsuarioNutricionista] insert.insertDieta(dietasCadastradas)
def alterarDieta(nomeUsuarioCliente, nomeUsuarioNutricionista, idMudanca, valor): dietasCadastradas = read.readFileDieta() if idMudanca == '1': dietasCadastradas[nomeUsuarioCliente][nomeUsuarioCliente + nomeUsuarioNutricionista].setNome(valor) dietasCadastradas[nomeUsuarioNutricionista][nomeUsuarioCliente + nomeUsuarioNutricionista].setNome(valor) insert.insertDieta(dietasCadastradas) elif idMudanca == '2': dietasCadastradas[nomeUsuarioCliente][nomeUsuarioCliente + nomeUsuarioNutricionista].setAlimentos(valor) dietasCadastradas[nomeUsuarioNutricionista][nomeUsuarioCliente + nomeUsuarioNutricionista].setAlimentos(valor) insert.insertDieta(dietasCadastradas) else: dietasCadastradas[nomeUsuarioCliente][nomeUsuarioCliente + nomeUsuarioNutricionista].setPeriodo(valor) dietasCadastradas[nomeUsuarioNutricionista][nomeUsuarioCliente + nomeUsuarioNutricionista].setPeriodo(valor) insert.insertDieta(dietasCadastradas)
def visualizarDietas(nomeUsuario): dietasCadastradas = read.readFileDieta() try: for dieta in dietasCadastradas[nomeUsuario]: print(dieta.replace(nomeUsuario, 'Dieta feito com o Doutor: ')) nomeUsuarioNutricionista = input( "Informe o nome de identificação do nutricionista para visualizar a dieta\n>>> " ) if nomeUsuario + nomeUsuarioNutricionista in list( dietasCadastradas[nomeUsuario].keys()): if dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getConfirmacaoNutricionista( ) == 'False': print("O nutricionista não aceitou sua solicitação!.") delete.deletarDieta(nomeUsuario, nomeUsuarioNutricionista) elif dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getNome( ) == '' and dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getConfirmacaoNutricionista( ) == 'None': print( "O Doutor " + nomeUsuarioNutricionista + " ainda não visualizou ou não definiu nada sobre a sua dieta, aguarde a resposta!." ) elif dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getConfirmacaoCliente( ) == 'None': print(10 * ' ' + "Nome da dieta: " + dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getNome()) print(10 * ' ' + "Tipo da dieta: " + dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getTipo()) print(10 * ' ' + "Prescrição da dieta: " + dietasCadastradas[nomeUsuario] [nomeUsuario + nomeUsuarioNutricionista].getAlimentos()) print( 10 * ' ' + "Periodo da dieta:", dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getPeriodo()) print( 10 * ' ' + "Preço:", dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getPreco()) confirmacao = input( "Você aceita essa dieta?: (s/N)\n>>> ").lower() if confirmacao == 's': dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].setConfirmacaoCliente('True') dietasCadastradas[nomeUsuarioNutricionista][ nomeUsuario + nomeUsuarioNutricionista].setConfirmacaoCliente('True') insert.insertDieta(dietasCadastradas) else: dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].setConfirmacaoCliente( 'False') dietasCadastradas[nomeUsuarioNutricionista][ nomeUsuario + nomeUsuarioNutricionista].setConfirmacaoCliente( 'False') insert.insertDieta(dietasCadastradas) else: print(10 * ' ' + "Nome da dieta: " + dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getNome()) print(10 * ' ' + "Tipo da dieta: " + dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getTipo()) print(10 * ' ' + "Prescrição da dieta: " + dietasCadastradas[nomeUsuario] [nomeUsuario + nomeUsuarioNutricionista].getAlimentos()) print( 10 * ' ' + "Periodo da dieta:", dietasCadastradas[nomeUsuario][ nomeUsuario + nomeUsuarioNutricionista].getPeriodo()) chat = input( "Você deseja acessar o chatBox? (s/N)\n>>> ").lower() if chat == 's': chatBox(nomeUsuario, nomeUsuarioNutricionista) else: print( "Você não possui nenhuma dieta com o nutricionista especificado" ) except KeyError: print("Você não solicitou nenhuma dieta!.")
def visualizarDietas(nomeUsuario): dietasCadastradas = read.readFileDieta() try: for dieta in dietasCadastradas[nomeUsuario]: print("Dieta solicitada por: " + dieta.replace(nomeUsuario, '')) nomeUsuarioCliente = input( "Informe o nome de identificação do cliente para visualizar suas informações\n>>> " ) if nomeUsuarioCliente in list(dietasCadastradas.keys()): if dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].getConfirmacaoCliente() == 'False': print("O cliente não aceitou a proposta!.") delete.deletarDieta(nomeUsuarioCliente, nomeUsuario) elif dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].getConfirmacaoNutricionista() == 'None': clientesCadastrados = read.readFileCliente() print(10 * ' ' + "Nome:", clientesCadastrados[nomeUsuarioCliente].getNome()) print(10 * ' ' + "Idade:", clientesCadastrados[nomeUsuarioCliente].getIdade()) print(10 * ' ' + "Sexo:", clientesCadastrados[nomeUsuarioCliente].getSexo()) print(10 * ' ' + "Peso:", clientesCadastrados[nomeUsuarioCliente].getPeso()) print(10 * ' ' + "Altura:", clientesCadastrados[nomeUsuarioCliente].getAltura()) print(10 * ' ' + "IMC:", clientesCadastrados[nomeUsuarioCliente].getIMC()) print( 10 * ' ' + "Taxa Metabolica Basal:", clientesCadastrados[nomeUsuarioCliente]. getTaxaMetabolicaBasal()) print( 10 * ' ' + "Nivel de Atividade Física:", clientesCadastrados[nomeUsuarioCliente]. getNivelAtividadeFisica()) print( 10 * ' ' + "Tipo de dieta solicitada:", dietasCadastradas[nomeUsuario][nomeUsuarioCliente + nomeUsuario].getTipo()) confirmacao = input( "Você aceita essa dieta?: (s/N)\n>>> ").lower() if confirmacao == 's': dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].setConfirmacaoNutricionista('True') dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuario].setConfirmacaoNutricionista('True') nome = input("Digite o nome da dieta:\n>>> ") try: preco = float(input("Digite o preço da dieta:\n>>> ")) dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].setNome(nome) dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuario].setNome(nome) dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].setPreco(preco) dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuario].setPreco(preco) insert.insertDieta(dietasCadastradas) except ValueError: print("Entrada inválida!.") else: dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].setConfirmacaoNutricionista('False') dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuario].setConfirmacaoNutricionista('False') insert.insertDieta(dietasCadastradas) elif dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].getConfirmacaoCliente() == 'None': print("O cliente está analisando a proposta!.") else: if dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].getAlimentos() == '': print("O cliente aceitou a proposta!.") print("Você não definiu nenhuma prescrição, DEFINA!.") print(">>> (Digite go() para enviar a prescrição") msg = prescricao('') msg = msg.replace('go()', '') dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].setAlimentos(msg) dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuario].setAlimentos(msg) try: periodo = int( input( "Informe o periodo da dieta em meses!.\n>>> ")) assert periodo > 0 dietasCadastradas[nomeUsuario][nomeUsuarioCliente + nomeUsuario].setPeriodo( periodo) dietasCadastradas[nomeUsuarioCliente][ nomeUsuarioCliente + nomeUsuario].setPeriodo(periodo) insert.insertDieta(dietasCadastradas) except ValueError: print("Entrada inválida!.") except AssertionError: print("Valores númericos devem ser maiores que zero!.") else: clientesCadastrados = read.readFileCliente() print(10 * ' ' + "Nome:", clientesCadastrados[nomeUsuarioCliente].getNome()) print(10 * ' ' + "Idade:", clientesCadastrados[nomeUsuarioCliente].getIdade()) print(10 * ' ' + "Sexo:", clientesCadastrados[nomeUsuarioCliente].getSexo()) print(10 * ' ' + "Peso:", clientesCadastrados[nomeUsuarioCliente].getPeso()) print(10 * ' ' + "Altura:", clientesCadastrados[nomeUsuarioCliente].getAltura()) print(10 * ' ' + "IMC:", clientesCadastrados[nomeUsuarioCliente].getIMC()) print( 10 * ' ' + "Taxa Metabolica Basal:", clientesCadastrados[nomeUsuarioCliente]. getTaxaMetabolicaBasal()) print( 10 * ' ' + "Nivel de Atividade Física:", clientesCadastrados[nomeUsuarioCliente]. getNivelAtividadeFisica()) print( 10 * ' ' + "Tipo de dieta solicitada:", dietasCadastradas[nomeUsuario][nomeUsuarioCliente + nomeUsuario].getTipo()) print( 10 * ' ' + "Nome da Dieta:", dietasCadastradas[nomeUsuario][nomeUsuarioCliente + nomeUsuario].getNome()) print( 10 * ' ' + "Prescrição:", dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].getAlimentos()) print( 10 * ' ' + "Período:", dietasCadastradas[nomeUsuario][ nomeUsuarioCliente + nomeUsuario].getPeriodo()) print(''' # ################################################# # ##### O QUE VOCÊ DESEJA FAZER AGORA?. ########## # ################################################# # #### 1) - ACESSAR CHAT BOX ###################### # #### 2) - ALTERAR DADOS DA DIETA ########### # #### 3) - SAIR ############################### # ################################################# ''') op = input("\n>>> ") if op == '1': chatBox(nomeUsuarioCliente, nomeUsuario) elif op == '2': alterarDieta(nomeUsuarioCliente, nomeUsuario) else: print("Esse usuário não existe ou não solicitou dieta para você.") except KeyError: print("Nenhuma dieta solicitada!.")