import json
# Implementando el método de Notarikon para texto hebreo.
# Notarikon es una técnica que toma la primera (y a veces la última) letra de cada palabra para formar una nueva palabra o frase.

def notarikon(text, mode='first'):
    """
    Genera un Notarikon de un texto hebreo. Por defecto, toma la primera letra de cada palabra.
    Si se especifica otro modo, puede adaptarse para tomar letras según necesidades específicas.
    
    Args:
    text (str): Texto hebreo del cual generar el Notarikon.
    mode (str): Modo de generación del Notarikon ('first' para la primera letra, 'last' para la última, etc.)
    
    Returns:
    str: El Notarikon generado del texto.
    """
    words = text.split()  # Divide el texto en palabras
    if mode == 'first':
        # Toma la primera letra de cada palabra
        notarikon_result = ''.join(word[0] for word in words if word)
    elif mode == 'last':
        # Toma la última letra de cada palabra
        notarikon_result = ''.join(word[-1] for word in words if word)
    else:
        # Por defecto, regresa el texto sin cambios si el modo no es reconocido
        notarikon_result = text
    
    return notarikon_result



"""
# Ejemplo de uso
#genesis = open("genesis.json","rb").read()
genesis = json.loads(open("genesis.json","r").read())["text"][0]

##example_text = "בראשית ברא אלהים את השמים ואת הארץ"  # "En el principio Dios creó los cielos y la tierra."
for txt in genesis:

    notarikon_result_first = notarikon(txt, mode='first')
    notarikon_result_last = notarikon(txt, mode='last')

    print(notarikon_result_first, notarikon_result_last)
"""