src/cm/utils/html.py
author raph
Thu, 10 Dec 2009 16:41:01 +0100
changeset 47 7a64d8892f70
parent 0 40c8f766c9b8
child 154 8cb89c153140
permissions -rw-r--r--
add randomness to temporary roles

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


import re

def cleanup_textarea(input):
    """
    Cleanup \r\n to standard \n    
    """
    return re.sub('(\r\n)|(\n)|(\r)','\n',input)