if type(global_dictionary[k]) is tuple:
# single keyword
definition = global_dictionary[k][4]
definition = definition.replace("\n (", ". (") ###para el diccionario Larousse: Junta la palabra, que ya está repetida, con la procedencia.
definition = definition.replace("\n", "<br/>") ###para el diccionario DRAE y Larousse: Separa las lineas que tenían salto de línea originalmente.
definition = definition.replace(".<br/>(", ". (") ###para el diccionario DRAE: Junta la palabra, que ya está repetida, con la procedencia.
definition = definition.replace("■", " —") ###para el diccionario Larousse: Da más indentación a la descripción y cambia el símbolo.
definition = definition.replace(".<br/><br/>", ".<br/>") ###para el diccionario DRAE: Quita saltos de línea dobles.
f.write("<w><a name="%s"/><div><b>%s</b><br/>%s</div></w>" % (word, word, definition))
else:
# multiple keyword
for sql_tuple in global_dictionary[k]:
definition = sql_tuple[4]
definition = definition.replace("\n (", ". (") ###para el diccionario Larousse: Junta la palabra, que ya está repetida, con la procedencia.
definition = definition.replace("\n", "<br/>") ###para el diccionario DRAE y Larousse: Separa las lineas que tenían salto de línea originalmente.
definition = definition.replace(".<br/>(", ". (") ###para el diccionario DRAE: Junta la palabra, que ya está repetida, con la procedencia.
definition = definition.replace("■", " —") ###para el diccionario Larousse: Da más indentación a la descripción y cambia el símbolo.
definition = definition.replace(".<br/><br/>", ".<br/>") ###para el diccionario DRAE: Quita saltos de línea dobles.
f.write("<w><a name="%s"/><div><b>%s</b><br/>%s</div></w>" % (word, word, definition))
El cambio importante para quitar el apelotonamiento en las definiciones es el "definition = definition.replace("\n", "<br/>")". El resto es solo para dejarlo más a mi gusto.
Esta modificación vale para el rae y el larousse. Para otros diccionarios habría que adaptarla dependiendo de como estén codificados.
El método es muy pedestre (conseguido a base de prueba y error), pero es lo más fácil de tocar sin modificar los diccionarios. Solo sustituye cadenas de caracteres que nos molesten por otras.
Eso sí, la definición ahora ocupa más espacio en pantalla (a algunos no les gustará por eso), aunque queda mucho más limpia y ordenada.