src/cm/utils/html.py
author rbernard
Fri, 12 Feb 2010 21:59:18 +0100
changeset 173 c1aa800029d6
parent 154 8cb89c153140
child 175 4f072edc51a1
permissions -rw-r--r--
renaming variable

"""
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))