Exemplo n.º 1
0
def redundancia(termo, tipo, termos):
    '''
    Pega a lista de termos, verifica se tem redundancia.
    Se sim, retorna a mensagem de erro.

    Args:
        termo (str): Termo a ser analisado.
        tipo (str): Tipo, se 'A' palavra ou 'R' frase.
        termos (list): Lista de termos a serem comparados.

    Returns:
        str: Retorna a mensagem de erro.
    '''
    lista = []
    # Se o termo for uma frase 'R' de uma palavra só, então converte para palavra.
    if tipo == 'R':
        if len(remover_aspas(termo).split()) == 1:
            tipo = 'A'
            termo = remover_aspas(termo)
    if tipo == 'A':
        for i, _termo in enumerate(termos):
            meu_termo = remover_aspas(_termo['termos'])
            _tipo = _termo['tipo']
            # print(i, _termo)
            # print(i, meu_termo)
            if _tipo == 'A':
                # print('caiu no palavra palavra')
                resposta = redun_palavra_palavra(termo, meu_termo)
            else:
                # print('caiu no palavra frase')
                resposta = redun_palavra_frase(termo, meu_termo)
            # print(i, 'antes', resposta)
            if resposta:
                lista.append(resposta)
            # print(i, 'depois', resposta)
    else:
        # Se tipo for igual a 'R', considerando a query.
        for _termo in termos:
            meu_termo = remover_aspas(_termo['termos'])
            _tipo = _termo['tipo']
            if _tipo == 'R':
                resposta = redun_frase_frase(remover_aspas(termo), meu_termo)
            else:
                # Se for 'A', então troca palavra e frase de lugar
                # pra usar a mesma função.
                tmp_palavra = meu_termo
                tmp_frase = remover_aspas(termo)
                resposta = redun_palavra_frase(tmp_palavra, tmp_frase)
            if resposta:
                lista.append(resposta)
    print('\n')
    print('lista')
    print(lista)
    if lista:
        msg_error = "O termo '%s' é redundante." % lista[0]['quem']
        return msg_error
    return
Exemplo n.º 2
0
 def test_pp_submarino(self):
     set1 = 'submarino'
     set2 = 'submarino amarelo'
     esperado = {'eh_redundante': True, 'quem': set2}
     self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
Exemplo n.º 3
0
 def test_pp_jose_fernandes4(self):
     set1 = 'José Fernandes Silva'
     set2 = 'José Silva Fernandes Melo'
     esperado = {'eh_redundante': True, 'quem': set2}
     self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
Exemplo n.º 4
0
 def test_pp_joao_augusto_jose_silva6(self):
     set3 = 'José Silva'
     set4 = 'João Augusto'
     esperado = {}
     self.assertEqual(redun_palavra_palavra(set3, set4), esperado)
Exemplo n.º 5
0
 def test_pp_joao_augusto_jose_silva4(self):
     set2 = 'João Silva'
     set3 = 'José Silva'
     esperado = {}
     self.assertEqual(redun_palavra_palavra(set2, set3), esperado)
Exemplo n.º 6
0
 def test_pp_joao_augusto_jose_silva2(self):
     set1 = 'José Augusto'
     set3 = 'José Silva'
     esperado = {}
     self.assertEqual(redun_palavra_palavra(set1, set3), esperado)
Exemplo n.º 7
0
 def test_pp_joao_maria3(self):
     set1 = 'Maria João Silva'
     set2 = 'João Maria'
     esperado = {'eh_redundante': True, 'quem': set1}
     self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
Exemplo n.º 8
0
 def test_pp_joao_augusto3(self):
     set1 = 'João Augusto'
     set2 = 'João Pereira'
     esperado = {}
     self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
Exemplo n.º 9
0
 def test_pp_joao_augusto2(self):
     set1 = 'João Augusto'
     set2 = 'João Pereira Augusto'
     esperado = {'eh_redundante': True, 'quem': set2}
     self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
Exemplo n.º 10
0
 def test_pp_aaa(self):
     set1 = 'aaa'
     set2 = 'Amanda'
     esperado = {}
     self.assertEqual(redun_palavra_palavra(set1, set2), esperado)