# HG changeset patch # User verrierj # Date 1320926381 -3600 # Node ID 31cb2905559133ad50157027b54cdff5fce83e14 # Parent a413a997a5e245ddbe86a1008a8404b8bd0621e3 HTML tags deletion in project description works with multiple paragraphs diff -r a413a997a5e2 -r 31cb29055591 src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Thu Nov 10 11:38:15 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/models.py Thu Nov 10 12:59:41 2011 +0100 @@ -6,7 +6,7 @@ from ldt.core.models import Document import ldt.indexation from utils import (create_ldt, copy_ldt, create_empty_iri, update_iri, - generate_uuid) + generate_uuid, clean_description) import lucene import lxml.etree import mimetypes @@ -387,17 +387,13 @@ doc = lxml.etree.fromstring(self.ldt) self.contents.clear() medias = doc.xpath('/iri/medias/media') - - # Remove html tags added by flash if necessary - begin_str = "KERNING=\"0\">" + description = self.get_description(doc) - begin = description.find(begin_str) + len(begin_str) - end = description.find(" 0 and end > 0: - description = description[begin:end] + new_desc = clean_description(description) + + if new_desc: desc_node = doc.xpath('/iri/project')[0] - desc_node.set('abstract', description) + desc_node.set('abstract', new_desc) self.ldt = lxml.etree.tostring(doc, pretty_print=True) for media in medias: diff -r a413a997a5e2 -r 31cb29055591 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Thu Nov 10 11:38:15 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Thu Nov 10 12:59:41 2011 +0100 @@ -63,7 +63,8 @@ theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", width: "470", - plugins : "autoresize" + plugins : "autoresize", + entity_encoding : "raw", }); diff -r a413a997a5e2 -r 31cb29055591 src/ldt/ldt/ldt_utils/utils.py --- a/src/ldt/ldt/ldt_utils/utils.py Thu Nov 10 11:38:15 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/utils.py Thu Nov 10 12:59:41 2011 +0100 @@ -465,3 +465,20 @@ finally: f.close() +def clean_description(description): + """ Remove html tags added by flash if necessary """ + new_desc = u'' + begin_str = "KERNING=\"0\">" + + for chunk in description.split(" 0 and end > 0: + new_desc = new_desc + chunk[begin:end] + "
" + + if new_desc: + return new_desc + return None + +