def test_B_consulta(self):
     # Verificando se a aplicação esta consultando e retornando um id de um usuário pesquisado no BD
     user = self.get_user_test()
     usuarioDAO = UsuarioDAO()
     user.id = usuarioDAO.getIdUsuario(
         user.email)  # Atribuindo o ID do usuário
     self.assertNotEqual(None, user.id)  # Se o id for direfente de None
Beispiel #2
0
    def removerUsuario(self):

        usuarioDAO = UsuarioDAO()
        usuarioDAO.deletarUsuario(self)  # Deletando usuário da rede social
        # Faltando configurar para deletar em conjunto todos os grupos que o usuário participa
        # e deltar o usuário da lista de amigos de outros usuários
        print("\nConta removida com sucesso\n")
    def exibirMensagems(self, grupo):
        usuarioDAO = UsuarioDAO()
        grupo.carregarMensagems(grupo)  # Atualizando mensagems do grupo

        if grupo.totalMensagems() == 0:
            print("\nEste grupo não possuem mensagems no momento\n")
        else:
            print("\n\n\n")
            print(
                "=================================================================="
            )
            print("\n--------------------------------------------------------")
            print(
                "                    %s                                    " %
                (grupo.nome))
            print("----------------------------------------------------------")
            print(
                "==================================================================\n"
            )
            for mensagemGrupo in grupo.mensagems:
                nomeEnviou = usuarioDAO.getNomeUsuario(
                    mensagemGrupo.id_participante)
                print(
                    "%s : %s\n"
                    " --------------------------------------------------\n"
                    " * %s                                              \n"
                    "                                                   \n"
                    "                                                   \n"
                    " ---------------------------------------------------\n" %
                    (nomeEnviou, mensagemGrupo.data_envio,
                     mensagemGrupo.mensagem))
            print("========================================================")
Beispiel #4
0
def criarUsuario():

    # Tratado os possiveis erros, se acontecer.
    try:
        login = input("Digite seu login: "******"Ops! A quantidade de dígitos é maior que a esperada!")
        senha = input("Digite uma senha: ")
        if (len(senha) > 25):
            print("Ops! A quantidade de dígitos é maior que a esperada!")
        logado = False
        nome = str(input("Digite seu nome: "))
        if (len(nome) > 70):
            print("Ops! A quantidade de dígitos é maior que a esperada!")
        dia = int(input("Digite dia de nascimento: "))
        mes = int(input("Digite mes de nascimento: "))
        ano = int(input("Digite ano de nascimento: "))
        data_nasc = datetime.date(ano, mes, dia)
        genero = str(input("Digite seu genero: "))
        if (len(genero) > 10):
            print("Ops!  A quantidade de dígitos é maior que a esperada!")
        profissao = str(input("Digite sua profissao: "))
        if (len(profissao) > 20):
            print("Ops! A quantidade de dígitos é maior que a esperada!")

        usuario = Usuario(senha, login, logado, nome, data_nasc, genero,
                          profissao)
        usuarioDAO = UsuarioDAO()
        usuarioDAO.inserir(usuario)
        print("Usuário Criado!")

    except:
        print("Ocorreu um ERRO!\n Tente novamente mais tarde.")
 def test_D_remocao(self):
     # Verificando se a aplicação esta removendo um usuário do banco de dados
     user = self.get_user_test()
     usuarioDAO = UsuarioDAO()
     user.email = "*****@*****.**"  # Para que a consulta do ID não result em erro
     user.id = usuarioDAO.getIdUsuario(
         user.email)  # Atribuindo o ID do usuário
     result = usuarioDAO.deletarUsuario(user)
     self.assertEquals(True, result)
Beispiel #6
0
    def carregarUsuarioBD(self):

        usuarioDAO = UsuarioDAO()
        usuario = usuarioDAO.getUsuario(self.email)

        self.id = usuario[0]
        self.senha = usuario[2]
        self.nome = usuario[3]
        self.data_nascimento = usuario[4]
        self.genero = usuario[5]
        self.estado_civil = usuario[6]
        self.profissao = usuario[7]
Beispiel #7
0
    def post(self):

        usuario = request.json
        print(usuario)
        usuarioDAO = UsuarioDAO()

        users = usuarioDAO.listarUsuarios()
        for user in users:
            if user.email == usuario["email_nickname"]:
                if user.verificar_senha(usuario["senha"]):
                    user.generate_auth_token()
                    return user.token, 200

        return "Dados de login incorretos.", 404
    def verify_auth_token(token):
        s = Serializer('123456')
        try:
            data = s.loads(token)
        except SignatureExpired:
            return None  # valid token, but expired
        except BadSignature:
            return None  # invalid token

        usuarioDAO = UsuarioDAO()
        users = usuarioDAO.listarUsuarios()

        for user in users:
            if user.id == data['id']:
                return user
Beispiel #9
0
    def carregarAmigos(self,usuario):
        usuarioDAO = UsuarioDAO()
        usuario.amigos = []
        amigos = usuarioDAO.getListAmigos(usuario.id)

        for amigo in amigos:
            usuarioAmigo = Usuario()
            usuarioAmigo.id = amigo[0]
            usuarioAmigo.email = amigo[1]
            usuarioAmigo.senha = amigo[2]
            usuarioAmigo.nome = amigo[3]
            usuarioAmigo.data_nascimento = amigo[4]
            usuarioAmigo.genero = amigo[5]
            usuarioAmigo.estado_civil = amigo[6]
            usuarioAmigo.profissao = amigo[7]
            usuario.amigos.append(usuarioAmigo) # Adicionando o usuário a lista de amigos do usuário
Beispiel #10
0
    def busqueUsuario(self):

        usuarioDAO = UsuarioDAO()
        nomeBusca = input("\nBusque o usuário pelo nome: ")
        print(" ")
        usuarios = usuarioDAO.getListUsuario(nomeBusca)

        print("--------------------------------------")
        print("Resultados da busca por %s"%(nomeBusca))
        print("--------------------------------------\n")
        num = 1 # Variável usada para enumeras os usuários

        initLoop = True # Variável que vai controlar o loop de escolha do usuário

        if usuarios == []:
            print("Nenhum usuário encontrado\n")
            initLoop = False
        else:
            for usuario in usuarios:
                print("---------------------------------\n")
                print("Número: %s" %(num))
                print("Nome: %s" %(usuario[0]))
                print("E-mail: %s" %(usuario[1]))
                print("---------------------------------\n")
                num += 1  # num = num + 1 Somando um número a num a cada loop
            num = num - 1 # Retirando o acréscimo colocado no ultimo loop

        while(initLoop):
            try:
                print("--------------------------------------")
                print("OBS: Ao digitar zero(0) você cancela o envio e volta para o menu de Amigos\n")
                numAmigo = int(input("Número do usuário que quer enviar a solicitação: "))

                if numAmigo == 0:
                    print("\nEnvio de Solicitação cancelada\n")
                    return  None
                elif numAmigo != 0: # Se a opção for diferente de cancelamento
                    if numAmigo <= num and numAmigo > 0: # Se a opção não for um número da lista de usuários
                        return usuarios[numAmigo-1][2] # Retornando ID do usuário escolhido para enviar a solicitação de amizade
                    else:
                        print("\nEste usuário não foi encontrado na busca\n")
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)

        return None
 def test_C_atualizacao(self):
     # Verificando se a aplicação esta atualizando um usuário no banco de dados
     user = self.get_user_test()
     usuarioDAO = UsuarioDAO()
     user.id = usuarioDAO.getIdUsuario(
         user.email)  # Atribuindo o ID do usuário
     user.nome = "Pedro Manoel"
     user.email = "*****@*****.**"
     user.senha = "Ocride123"
     usuarioDAO.atualizarUsuario(
         user
     )  # Atualizando o cadastro no banco de dados passando o usuário como parâmetro
     user.carregarUsuarioBD(
     )  # Fazendo uma consulta e carregando u usuário direto do banco de dados
     self.assertEqual(user.nome, "Pedro Manoel")
     self.assertEqual(user.email, "*****@*****.**")
     self.assertEqual(user.senha, "Ocride123")
Beispiel #12
0
def menu():
    while True:
        try:
            opcao = int(input(
                "1) Login\n" \
                "2) Registro\n" \
                "0) Sair\n\n" \
                "->"
            ))
        except:
            print("Opção inválida.")
            continue

        if(opcao == 0):
            break
        elif(opcao == 1):
            email = input("E-mail: ")
            senha = input("Senha: ")

            usuario = UsuarioDAO().verificarLogin(email, senha)

            if(usuario is None):
                print("Credenciais incorretos.\n")
                continue
            else:
                menuDeUsuario(usuario)
         #USAMOS O CASO DE TESTE UNITARIO (ASSERT)
        elif(opcao == 2):
                nome = input("Nome: ")
                email = input("E-mail: ")
                senha = input("Senha: ")
                sexo = input("Sexo: ")
                cidade = input("Cidade: ")
                data_nascimento = input("Data de nascimento (dd/mm/YYYY): ")

                usuario = Usuario(nome, email, senha, sexo, cidade, data_nascimento)
                UsuarioDAO().insert(usuario)

                menuDeUsuario(usuario)
        assert len(nome) < 70, "Nome deve ter no máximo 70 caracteres"
        assert len(email) < 20, "E-mail deve ter no máximo 20 caracteres"
        assert len(senha) < 3, "Senha deve ter no minimo 3 caracteres"
        assert sexo == "Feminino" or sexo == "Masculino", "Insira um gênero válido"
        assert len(cidade) < 30, "Cidade deve ter no máximo 30 caracteres“
        assert len(data_nascimento) < 10, "Data de nascimento deve ter no máximo 10 caracteres"
Beispiel #13
0
    def criarUsuario(self):
        email = None  # Como o E-mail é obrigatório no banco de dados ele sera um atributo obrigatório para a criação do usuário também
        usuarioDAO = UsuarioDAO()

        print("")
        self.nome = input("Nome: ")
        while (
                True
        ):  # Criando um loop para verificar se o usuário informol o E-mail
            self.email = input("E-mail: ")
            if len(
                    self.email
            ) == 0:  # Se o E-mail estiver vazio ou seja o usuário não o informol
                print("\nInforme um E-mail por favor\n")
            else:  # O email foi preenchido
                if usuarioDAO.usuarioExist(self.email):
                    print(
                        "\nEste email já é utilizado por outro usuário, tente novamente\n"
                    )
                else:
                    break  # Parando loop e continuando o preenchimento dos dados do usuário
        self.senha = input("Senha: ")
        while (True):
            try:
                print("Data De Nascimento: ")
                dia = int(input("  Dia: "))
                mes = int(input("  Mês: "))
                ano = int(input("  Ano: "))
                self.data_nascimento = datetime.date(ano, mes, dia)
                break
            except (ValueError, OverflowError):
                print(dataNascimentoInvalida)
        self.genero = input("Genêro: ")
        self.estado_civil = input("Estado Civil: ")
        self.profissao = input("Profissao: ")

        result = usuarioDAO.inserirUsuario(self)
        self.id = usuarioDAO.getIdUsuario(
            self.email)  # Atribuindo o ID do usuário

        return result  # Retornando status da inclusão do usuário
Beispiel #14
0
    def adicionarDesconhecido(self, usuario, grupo):
        usuarioDAO = UsuarioDAO()
        grupoDAO = GrupoDAO()

        print(
            "\nPara incluir um usuário que não é seu amigo você precissa informar o E-mail dele\n"
        )

        email = input("E-mail do usuário: ")

        exist = usuarioDAO.usuarioExist(email)

        if exist:
            idDesc = usuarioDAO.getIdUsuario(email)
            if grupoDAO.existParticipante(grupo, idDesc):
                print("\nEste usuário já participa do grupo %s\n" %
                      (grupo.nome))
            else:
                grupoDAO.inserirParticipante(grupo, idDesc)
                print("\nParticipante inserido com sucesso\n")
        else:
            print(
                "\nNão existe nenhum usuário com este E-mail na rede Nicks\n")
    def verMensDesconhecido(self, usuario):
        usuarioDAO = UsuarioDAO()

        print(
            "Para vizualizar as mensagems que enviou ou recebel de um usuário que não é seu amigo você precissa informar o E-mail dele\n"
        )

        email = input("E-mail do usuário: ")

        exist = usuarioDAO.usuarioExist(email)

        if exist:
            id_desc = usuarioDAO.getIdUsuario(email)
            exist = self.existMensEmail(
                usuario, id_desc
            )  # Verificando se existem mensagens entre este usuário desconhecido
            if exist:
                self.vizualizarMensagemDesconhecido(usuario, id_desc, email)
            else:
                print("\nNão existem mensagem entre você e este usuário\n")
        else:
            print(
                "\nNão existe nenhum usuário com este E-mail na rede Nicks\n")
    def criarMensDesconhecido(self, usuario):

        usuarioDAO = UsuarioDAO()
        mensagemDAO = MensagemDAO()

        print(
            "\nPara enviar uma mensagem para um usuário que não é seu amigo você precissa informar o E-mail dele\n"
        )

        email = input("E-mail do usuário: ")

        exist = usuarioDAO.usuarioExist(email)

        if exist:
            self.id_user_envia = usuario.id
            self.id_user_recebe = usuarioDAO.getIdUsuario(email)
            self.data_envio = datetime.datetime.today()
            self.mensagem = input("\nMensagem: ")
            if mensagemDAO.enviarMensagem(
                    self):  # Se a mensagem for enviada a função retorna True
                print("\nMensagem enviada\n")
        else:
            print(
                "\nNão existe nenhum usuário com este E-mail na rede Nicks\n")
Beispiel #17
0
    def listarDeUsuario(self, id):
        query = "SELECT * FROM tb_mensagem " \
                "WHERE destinatario_id = %s or remetente_id = %s"
        values = (id, id)

        mensagens = []

        try:
            conn = mysql.connector.connect(**config)

            cursor = conn.cursor(dictionary=True)
            cursor.execute(query, values)

            for row in cursor.fetchall():
                usuarioDAO = UsuarioDAO()

                id = row['id']
                remetente = usuarioDAO.procurarPeloId(row['remetente_id'])
                destinatario = usuarioDAO.procurarPeloId(
                    row['destinatario_id'])
                texto = row['texto']
                data_envio = row['data_envio']

                mensagem = Mensagem(remetente, destinatario, texto, data_envio,
                                    id)
                mensagens.append(mensagem)

        except mysql.connector.Error as error:
            print(error)
        except Exception as err:
            print(err)
        finally:
            cursor.close()
            conn.close()

            return mensagens
    def post(self):
        usuario = request.json

        emailInvalido = UsuarioDAO().usuarioExist(usuario['email'])

        if not (emailInvalido):
            try:
                usuario['data_nascimento'] = usuario['data_nascimento'].split(
                    "T")[0]
                usuario = Usuario(usuario['email'], usuario['senha'],
                                  usuario['nome'], usuario['data_nascimento'],
                                  usuario['genero'], usuario['perfil_publico'],
                                  usuario['estado_civil'])
                usuarioDAO = UsuarioDAO()
                usuarioDAO.inserirUsuario(usuario)
                print("Usuário cadastrado com sucesso")
                return "Usuário cadastrado com sucesso!", 200
            except:
                print("Erro no cadastro")
                return "Erro no cadastro.", 500

        else:
            print("Este email já é utilizado")
            return "Email já utilizado.", 401
Beispiel #19
0
def menu():
    while True:
        try:
            print("\ \ \ \ D I N A M I C S / / / / \n"
            "                                    ")
            opcao = int(input(
                "1 - Login\n" \
                "2 - Registro\n" \
                "0 - Sair\n" \

            ))
        except:
            print("Opção inválida.")
            continue
#opção de SAIR
        if(opcao == 0):
            break
#opção de efetuar o LOGIN
        elif(opcao == 1):
            email = input("E-mail: ")
            senha = input("Senha: ")

            UsuarioDAO.LOGINDAO(email, senha)
#Caso o usuário não exista o programa apresentará a seguinte mensagem
        if(usuario is None):
            print("Credenciais incorretos.\n")
            continue
#Caso o usuário exista, será chamada a função menuDeUsuario
        else:
            menuDeUsuario(usuario)
#Opção de efetuar REGISTRO na rede social
        if(opcao == 2):
            try:
                nome = input("Nome: ")
                email = input("E-mail: ")
                senha = input("Senha: ")
                sexo = input("Sexo: ")
                cidade = input("Cidade: ")
                data_nascimento = input("Data de nascimento: ")

                usuario = Usuario(nome, email, senha, sexo, cidade, data_nascimento)
               
                menuDeUsuario(usuario)
            except:
                print("Erro!")
                continue
def cadastrar():
    usuarioDAO = UsuarioDAO()

    nome = str(input("Digite o Nome do Usuario:"))
    email = str(input("Digite o Email do Usuario:"))

    if (usuarioDAO.verificarEmail(email) != True):
        print("Este Email já esta sendo utilizado")
        return ""

    while (True):
        try:
            print(
                "Data de Nascimento. OBS: A DATA DE NASCIMENTO DEVE SER DIGITADA UTILIZANDO NUMEROS"
            )

            dia = int(input("Dia:"))
            mes = int(input("Mes"))
            ano = int(input("Ano:"))

            dataNasc = datetime.date(ano, mes, dia)
            break
        except:
            print("\n Data Invalida\n")

    profissao = str(input("Digite sua Profissao:"))

    genero = str(input("Digite o seu Genero:"))

    senha = str(input("Digite a sua senha:"))

    usuario = Usuario(nome, email, senha, dataNasc, profissao, genero)

    usuarioDAO = UsuarioDAO()
    usuarioDAO.inserir(usuario)
    return usuario
Beispiel #21
0
 def postPubPublica(self):
     UsuarioDAO.postPubPublica()
Beispiel #22
0
def menuUsuario(usuario: Usuario):
    while True:
        try:
            print("\ \ \ \ D I N A M I C S / / / / \n"
                  "                                    "
                  "     \ \ \ \ M E N U / / / /")
            opcao = int(input(
                "\n 1 - Ver Dados\n" \
                "2 - Adicionar Amigo\n" \
                "3 - Mandar mensagem\n" \
                "4 - Ver amigos\n" \
                "0 - Sair\n\n" \
 \
                ))
        except:
            print("Opção inválida.")
            continue
#Opção de SAIR
        if (opcao == 0):
            break
#Opção de ver dados/perfil
        elif (opcao == 1):
            print("\ \ \ \ D I N A M I C S / / / / \n")
            print("\nNome: %s" \
                  "\nE-mail: %s" \
                  "\nSexo: %s" \
                  "\nCidade: %s" \
                  "\nData de nascimento: %s" % (
                  usuario.nome, usuario.email, usuario.sexo, usuario.cidade, usuario.data_nascimento))
#Opção de ADICIONAR AMIGOS pela pesquisa do nome
        elif (opcao == 2):
            print("\ \ \ \ D I N A M I C S / / / / \n")
            nome = input("Nome: ")

            usuarios = UsuarioDAO().PesquisaNome(nome)

            if (len(usuarios) == 0):
                print("Nenhum usuário encontrado.")
                continue
            elif (len(usuarios) == 1):
                try:
                    UsuarioDAO().inserirUsuario(usuario.id, usuarios[0].id)
                    print("Amigo adicionado.")
                except Exception as err:
                    print(err)
            else:
                #Pesquisa do usuário pelo ID
                print()
                i = 1
                for u in usuarios:
                    print("%s) %s - %s" % (i, u.nome, u.email))
                    i += 1

                n = input("Digite o número do usuário: ")

                u = UsuarioDAO().PesquisaID(usuarios[u - 1].id)

                if (u is None):
                    print("Usuário inválido.")
                else:
                    UsuarioDAO().inserirUsuario(usuario.id, u.id)
                    print("%s foi adicionado aos seus amigos." % (u.nome))
#Opção de MANDAR MENSAGEM
        elif (opcao == 3):
            print("\ \ \ \ D I N A M I C S / / / / \n")
            nome = input("Nome: ")

            usuarios = UsuarioDAO().PesquisaNome(nome)

            if (len(usuarios) == 0):
                print("Nenhum usuário encontrado.")
                continue
            elif (len(usuarios) == 1):
                try:
                    texto = input("Mensagem: ")
                    mensagem = Mensagem(usuario, usuarios[0], texto, str(date.today()))

                    MensagemDAO().insert(mensagem)
                    print("Mensagem enviada.")
                except Exception as err:
                    print(err)
            else:
            #Mandar mensagem pelo ID do usuário
                print()
                i = 1
                for u in usuarios:
                    print("%s) %s - %s" % (i, u.nome, u.email))
                    i += 1

                n = input("Digite o número do usuário: ")

                u = UsuarioDAO().PesquisaID(usuarios[u - 1].id)

                if (u is None):
                    print("Usuário inválido.")
                else:
                    try:
                        texto = input("Mensagem: ")
                        mensagem = Mensagem(usuario, usuarios[0], texto, str(date.today()))

                        MensagemDAO().insert(mensagem)
                        print("Mensagem enviada.")
                    except Exception as err:
                        print(err)
#Opção de ver AMIGOS
        elif (opcao == 4):
            print("\ \ \ \ D I N A M I C S / / / / \n")
            amigos = UsuarioDAO().listarAmigos(usuario.id)

            i = 1
            for amigo in amigos:
                print("%s) %s" % (i, amigo.nome))
Beispiel #23
0
    def atualizarUsuario(self):

        usuarioDAO = UsuarioDAO()

        # Perguntando ao usuário se ele deseja alterar o seu E-mail
        while (True):
            try:
                op = int(
                    input("\n---------------------------------\n"
                          "Deseja modificar seu E-mail: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "---------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    email = input("Digite seu novo email: ")
                    if usuarioDAO.usuarioExist(email):
                        print(
                            "\nEste E-mail já é utilizado por outro usuário, tente novamente\n"
                        )
                        continue  # Retornando para o loop
                    else:
                        self.email = email
                        print("")
                        break
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        #-------------------------------------------------------------

        # Perguntando ao usuário se ele deseja alterar a sua senha
        while (True):
            try:
                op = int(
                    input("\n---------------------------------\n"
                          "Deseja modificar sua Senha: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "---------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    self.senha = input("Digite sua nova Senha: ")
                    print("")
                    break
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        # -------------------------------------------------------------

        # Perguntando ao usuário se ele deseja alterar o seu Nome
        while (True):
            try:
                op = int(
                    input("\n---------------------------------\n"
                          "Deseja mudar seu Nome: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "---------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    self.nome = input("Digite seu novo Nome: ")
                    print("")
                    break
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        # -------------------------------------------------------------

        # Perguntando ao usuário se ele deseja alterar a sua Data De Nascimento
        continuar = True  # Como a dois loops é preciso uma variável para controlar um deles
        while (continuar):
            try:
                op = int(
                    input("\n-------------------------------------------\n"
                          "Deseja modificar sua Data De Nascimento: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "-------------------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    while (True):
                        try:
                            print("Data De Nascimento: ")
                            dia = int(input("  Dia: "))
                            mes = int(input("  Mês: "))
                            ano = int(input("  Ano: "))
                            self.data_nascimento = datetime.date(ano, mes, dia)
                            continuar = False
                            break
                        except (ValueError, OverflowError):
                            print(dataNascimentoInvalida)
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        # -------------------------------------------------------------

        # Perguntando ao usuário se ele deseja alterar o seu Gênero
        while (True):
            try:
                op = int(
                    input("\n---------------------------------\n"
                          "Deseja modificar seu Gênero: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "---------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    self.genero = input("Digite seu novo Gênero: ")
                    print("")
                    break
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        # -------------------------------------------------------------

        # Perguntando ao usuário se ele deseja alterar o seu Estado Civil
        while (True):
            try:
                op = int(
                    input("\n-------------------------------------\n"
                          "Deseja modificar seu Estado Civil: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "-------------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    self.senha = input("Digite seu novo Estado Civil: ")
                    print("")
                    break
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        # -------------------------------------------------------------

        # Perguntando ao usuário se ele deseja alterar a sua Profissão
        while (True):
            try:
                op = int(
                    input("\n---------------------------------\n"
                          "Deseja modificar sua Profissão: \n"
                          "1) Sim\n"
                          "2) Não\n"
                          "---------------------------------\n"
                          ">>: "))
                print(" ")
                if op == 1:
                    self.senha = input("Digite sua nova Profissão: ")
                    print("")
                    break
                elif op == 2:
                    break
                else:
                    print(numeroForaDeContesto)
            except ValueError:
                print(numeroInvalido)
        # -------------------------------------------------------------

        usuarioDAO.atualizarUsuario(
            self
        )  # Atualizando o cadastro no banco de dados passando o usuário como parâmetro
        print("\nCadastro atualizado com sucesso\n"
              )  # Mensagem de sucesso referente a mudança de cadastro
Beispiel #24
0
def menuDeUsuario(usuario: Usuario):
    while True:
        try:
            opcao = int(input(
                "\n1) Ver perfil\n" \
                "2) Add Amigo\n" \
                "3) Mandar mensagem\n" \
                "4) Ver amigos\n" \
                "5) Ver mensagens\n" \
                "0) Sair\n\n" \
                "->"
            ))
        except:
            print("Opção inválida.")
            continue

        if(opcao == 0):
            break
        elif(opcao == 1):
            print("\nNome: %s" \
                  "\nE-mail: %s" \
                  "\nSexo: %s" \
                  "\nCidade: %s" \
                  "\nData de nascimento: %s" % (usuario.nome, usuario.email, usuario.sexo, usuario.cidade, usuario.data_nascimento))
        elif(opcao == 2):
            nome = input("Nome: ")

            usuarios = UsuarioDAO().procurarPeloNome(nome)

            if(len(usuarios) == 0):
                print("Nenhum usuário com este nome encontrado.")
                continue
            elif(len(usuarios) == 1):
                try:
                    UsuarioDAO().addAmigo(usuario.id, usuarios[0].id)
                    print("Amigo adicionado.")
                except Exception as err:
                    print(err)
            else:
                print()
                i = 1
                for u in usuarios:
                    print("%s) %s - %s" % (i, u.nome, u.email))
                    i += 1

                n = input("Digite o número do usuário: ")

                u = UsuarioDAO().procurarPeloId(usuarios[u - 1].id)

                if(u is None):
                    print("Usuário inválido.")
                else:
                    UsuarioDAO().addAmigo(usuario.id, u.id)
                    print("%s foi adicionado aos seus amigos." % (u.nome))
        elif(opcao == 3):
            nome = input("Nome: ")

            usuarios = UsuarioDAO().procurarPeloNome(nome)

            if (len(usuarios) == 0):
                print("Nenhum usuário com este nome encontrado.")
                continue
            elif (len(usuarios) == 1):
                try:
                    texto = input("Mensagem: ")
                    mensagem = Mensagem(usuario, usuarios[0], texto, str(date.today()))

                    MensagemDAO().insert(mensagem)
                    print("Mensagem enviada.")
                except Exception as err:
                    print(err)
            else:
                print()
                i = 1
                for u in usuarios:
                    print("%s) %s - %s" % (i, u.nome, u.email))
                    i += 1

                n = input("Digite o número do usuário: ")

                u = UsuarioDAO().procurarPeloId(usuarios[u - 1].id)

                if (u is None):
                    print("Usuário inválido.")
                else:
                    try:
                        texto = input("Mensagem: ")
                        mensagem = Mensagem(usuario, usuarios[0], texto, str(date.today()))

                        MensagemDAO().insert(mensagem)
                        print("Mensagem enviada.")
                    except Exception as err:
                        print(err)

        elif(opcao == 4):
            amigos = UsuarioDAO().listarAmigos(usuario.id)

            i = 1
            for amigo in amigos:
                print("%s) %s" % (i, amigo.nome))
        elif(opcao == 5):
            mensagens = MensagemDAO().listarDeUsuario(usuario.id)

            for mensagem in mensagens:
                print("(%s) %s -> %s: %s" % (mensagem.data_envio, mensagem.remetente.nome, mensagem.destinatario.nome, mensagem.texto))
Beispiel #25
0
 def realizarBusca(self):
     nome = str(input("Digite o nome do seu amigo: "))
     UsuarioDAO.realizarBusca(nome)
Beispiel #26
0
 def postPubPrivada(self):
     UsuarioDAO.postPubPrivada()
Beispiel #27
0
 def enviarDM(self): #Envio de mensagem
     UsuarioDAO.enviarDM()
Beispiel #28
0
 def desfazerAmizade(self):
     UsuarioDAO.desfazerAmizade()
Beispiel #29
0
 def fazerAmizade(self):
     UsuarioDAO.fazerAmizade()
def main():
    criarTabelas()
    comentarioDAO = ComentarioDAO()
    usuarioDAO = UsuarioDAO()

    sair = False
    logar = False
    usuario = None
    idUsuario = -1
    while (sair == False):
        exibirMenuInicial()
        try:
            escolha = int(input("Digite a opcao desejada:"))

            #INICIO
            if (escolha == 1):
                cadastrar()

            elif (escolha == 2):
                users = usuarioDAO.listar()
                for user in users:
                    print(user)
            elif (escolha == 3):
                usuario = usuarioDAO.logar()
                if (usuario != None):
                    logar = True
                    idUsuario = usuario[0]
                    nome = usuario[1]
                    email = usuario[2]
                    nascimento = usuario[4]
                    profissao = usuario[5]
                    genero = usuario[6]
                    senha = usuario[3]
                    usuario = Usuario(nome, email, senha, nascimento,
                                      profissao, genero)

            elif (escolha == 0):
                sair = True

            #HOME
            while (logar == True):
                exibirMenuHome()
                try:
                    escolha = int(input("Digite a opcao desejada:"))

                    if (escolha == 1):
                        usuarioDAO.atualizar(usuario, idUsuario)

                    elif (escolha == 2):
                        users = usuarioDAO.listar()
                        for user in users:
                            print(user)

                    elif (escolha == 3):
                        usuarioDAO.deletar(idUsuario)
                        logar = False

                    elif (escolha == 4):
                        comentarioDAO.insert()

                    elif (escolha == 5):
                        print(
                            """
                            Nome: %s
                            Email: %s
                            Data de Nascimento: %s
                            Genero: %s
                            Profissao: %s
                            Cidade: %s
                            Estado: %s
                            Pais: %s
                            Senha: %s

                        """ %
                            (usuario.nome, usuario.email, usuario.dataNasc,
                             usuario.genero, usuario.profissao, usuario.cidade,
                             usuario.estado, usuario.pais, usuario.senha))

                    elif (escolha == 6):
                        comentarios = comentarioDAO.listar()
                        for comentario in comentarios:
                            print(comentario)

                    elif (escolha == 0):
                        logar = False
                except:
                    print("Valor Invalido!!Digite um Numero")
        except:
            print("Valor Invalido!!Digite um Numero")