src/cm/utils/html.py
author rbernard
Tue, 09 Feb 2010 22:20:08 +0100
changeset 155 f436e2fef076
parent 154 8cb89c153140
child 175 4f072edc51a1
permissions -rw-r--r--
Merge with e4746a10edf5ac1bcea7348d228fb35bebf93657

"""
Package to manipulage html chunks
"""

from BeautifulSoup import BeautifulSoup, Comment

def surrond_text_node(html_chunk, start_html, end_html):
    """
    Surround text nodes in html_chunk
    """
    soup = BeautifulSoup(html_chunk)
    text_nodes = get_text_nodes(soup)
    for text_node in text_nodes:        
        if text_node.string.strip():
            text_node.replaceWith(start_html + text_node.string + end_html)
    return unicode(soup)
    

# utilities    
def get_text_nodes(soup):
    return soup(text=lambda text:not isinstance(text, Comment))