Exemplo n.º 1
0
 def test_attributive(self):
     # Assert "alto" => "altos" (masculine, plural), and others.
     for lemma, inflected, gender in (
       (u"alto",  u"alto",   es.MALE   + es.SINGULAR),
       (u"alto",  u"altos",  es.MALE   + es.PLURAL),
       (u"alto",  u"alta",   es.FEMALE + es.SINGULAR),
       (u"alto",  u"altas",  es.FEMALE + es.PLURAL),
       (u"verde", u"verdes", es.MALE   + es.PLURAL),
       (u"verde", u"verdes", es.FEMALE + es.PLURAL)):
         v = es.attributive(lemma, gender)
         self.assertEqual(v, inflected)
     print("pattern.es.attributive()")
Exemplo n.º 2
0
 def test_attributive(self):
     # Assert "alto" => "altos" (masculine, plural), and others.
     for lemma, inflected, gender in (
             (u"alto",  u"alto",   es.MALE + es.SINGULAR),
             (u"alto",  u"altos",  es.MALE + es.PLURAL),
             (u"alto",  u"alta",   es.FEMALE + es.SINGULAR),
             (u"alto",  u"altas",  es.FEMALE + es.PLURAL),
             (u"verde", u"verdes", es.MALE + es.PLURAL),
             (u"verde", u"verdes", es.FEMALE + es.PLURAL)):
         v = es.attributive(lemma, gender)
         self.assertEqual(v, inflected)
     print("pattern.es.attributive()")
Exemplo n.º 3
0
def ingresarPalabra(dicPalabras, text):
    """esta funcion verifica si es una palabra valida y cual es su clasificacion, y la agrega al diccionario"""
    try:
        clasificacion = parse(text).split('/')[1][0:2]

        if esPalabraValida(text):
            if (clasificacion == 'VB'):
                enInfinitivo = conjugate(text, INFINITIVE)
                articulo = Wiktionary(language='es').search(enInfinitivo)
            elif (clasificacion == 'JJ'):
                adjetivo = attributive(text, gender=NEUTRAL)
                articulo = Wiktionary(language='es').search(adjetivo)
            elif (clasificacion == 'NN'):
                articulo = Wiktionary(language='es').search(text)
            aux = str(articulo.sections)
            if 'ADJ' in aux.upper() and clasificacion == 'JJ':
                print('La palabra es un adjetivo')
            elif 'VERB' in aux.upper() and clasificacion == 'VB':
                print('La palabra es un verbo')
            elif 'SUST' in aux.upper() and clasificacion == 'NN':
                print('La palabra es un sustantivo')

            if (clasificacion != 'JJ' and clasificacion != 'NN'
                    and clasificacion != 'VB'):
                GenerarReporte('La palabra ' + text + ' no existe en pattern.')

            print('La palabra es valida y es un', articulo.sections[3].title)
            dicPalabras[clasificacion][text] = buscarDefinicion(text)
            print(dicPalabras[clasificacion][text])

            return True
        else:
            if (clasificacion == 'JJ' or clasificacion == 'NN'
                    or clasificacion == 'VB'):
                GenerarReporte(
                    'La palabra ' + text +
                    ' no fue encontrada en Wiktionary, pero sí en pattern siendo un '
                    + clasificacion)
                dicPalabras[clasificacion][text] = sg.PopupGetText(
                    'Definicion: ')
                return True
            else:
                GenerarReporte(
                    'La palabra ' + text +
                    ' no fue encontrada en Wiktionary y tampoco en pattern.')

    except TypeError:
        GenerarReporte('La palabra ' + text + ' no es valida.')
        print('La palabra ingresada no es valida.')

    return False
Exemplo n.º 4
0
def ingresarPalabra(dicPalabras, text):
    """Verifica que la palabra sea v�lida tanto en Wiktionary como en Pattern.
     la palabra existe, la clasifica en verbo/sustantivo/adjetivo y la agrega a la lista de palabras.
    Caso contrario, genera el reporte con una descripcion del error.
    Retorna verdadero o falso dependiendo si la palabra se inserto correctamente o no."""
    try:
        clasificacion = clasificarPalabra(text)
        
        if esPalabraValida(text):                        
                if (clasificacion == 'VB'):      
                    enInfinitivo = conjugate(text, INFINITIVE)
                    articulo = Wiktionary(language='es').search(enInfinitivo)
                elif (clasificacion == 'JJ'):
                    adjetivo = attributive(text, gender=NEUTRAL)
                    articulo = Wiktionary(language='es').search(adjetivo)
                elif (clasificacion == 'NN'):
                    articulo = Wiktionary(language='es').search(text)
                    
                aux = str(articulo.sections)
                
                if clasificacion == 'JJ' and 'ADJ' in aux.upper():
                    clasificacion = 'JJ'
                elif clasificacion == 'VB' and 'VERB' in aux.upper():
                    clasificacion == 'VB'
                elif clasificacion == 'NN' and 'SUST' in aux.upper():
                    clasificacion == 'NN'
                else:
                    GenerarReporte('La definición de la palabra' + text + ' no coincide en Pattern y Wiktionary, se la clasificó como ' + clasificacion)
                if (clasificacion != 'JJ' and clasificacion != 'NN' and clasificacion != 'VB'):
                    GenerarReporte('La palabra ' + text + ' no existe en pattern.')
                    
                dicPalabras[clasificacion][text] = buscarDefinicion(text)
                return True
        else:
            if (clasificacion == 'JJ' or clasificacion == 'NN' or clasificacion == 'VB'):
                GenerarReporte('La palabra ' + text + ' no fue encontrada en Wiktionary pero si en pattern siendo un ' + clasificacion)
                dicPalabras[clasificacion][text] = sg.PopupGetText('Definición' 'No se ha encontrado la palabra en Wiktionary ni en Pattern. Ingrese una definición para la palabra: ')
                return True
            else:
                GenerarReporte('La palabra ' + text + ' no fue encontrada en Wiktionary y tampoco en pattern.')
                sg.Popup('La palabra ingresada no es válida. Se ha agregado esta situación en un reporte llamado ArchivoReporte.txt en el directorio.')
    except:
            GenerarReporte('La palabra ' + text + ' no es válida.')
            sg.Popup('La palabra ingresada no es válida. Se ha agregado esta situacion en un reporte ArchivoReporte.txt en el directorio.')
        
    
    return False
Exemplo n.º 5
0
def adjetives():
    print(predicative('hermosos'))
    print(attributive('hermoso', gender=FEMALE + PLURAL))