Пример #1
0
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
Пример #3
0
def deletarDieta(nomeUsuarioCliente, nomeUsuarioNutricionista):
    dietasCadastradas = read.readFileDieta()
    insert.insertHistorioAlimentar(nomeUsuarioCliente,
                                   nomeUsuarioNutricionista)
    del dietasCadastradas[nomeUsuarioCliente][nomeUsuarioCliente +
                                              nomeUsuarioNutricionista]
    del dietasCadastradas[nomeUsuarioNutricionista][nomeUsuarioCliente +
                                                    nomeUsuarioNutricionista]
    insert.insertDieta(dietasCadastradas)
Пример #4
0
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!.")