import os

def preprocess_input(text):
    """
    Limpia la entrada del usuario: elimina espacios adicionales, saltos de línea y convierte a texto con formato uniforme.
    """
    cleaned_text = ' '.join(text.split())
    return cleaned_text

def guardar_noticia(data, nombre_archivo):
    with open(nombre_archivo, 'w', encoding='utf-8') as file:
        for key, value in data.items():
            file.write(f"{key}: {value}\n")

def main():
    while True:
        noticia_data = {}

        noticia = input("Introduce la noticia (escribe 'salir' o presiona Enter para terminar): ")
        if not noticia.strip() or noticia.lower() == 'salir':
            break
        
        noticia_data["content"] = preprocess_input(noticia)
        noticia_data["title"] = preprocess_input(input("Introduce el título de la noticia: "))
        noticia_data["theme"] = preprocess_input(input("Introduce la temática de la noticia: "))
        noticia_data["author"] = preprocess_input(input("Introduce el autor de la noticia: "))
        noticia_data["timestamp"] = preprocess_input(input("Introduce la fecha de publicación (DD-MM-AAAA): "))
        
        nombre_archivo = input("Introduce el nombre del archivo para guardar (incluyendo .txt): ")
        guardar_noticia(noticia_data, nombre_archivo)
        print(f"Noticia guardada en {nombre_archivo}")

if __name__ == "__main__":
    main()
