def _get_lines_from_node_text(cls, node):
        """
        Given an ``lxml`` node, get lines from ``node.text``,
        where the line separator is ``<br xmlns=... />``.
        """
        # TODO more robust parsing
        from lxml import etree
        parts = ([node.text] + list(chain(*([etree.tostring(c, with_tail=False), c.tail] for c in node.getchildren()))) + [node.tail])
        parts = [gf.safe_unicode(p) for p in parts]
        parts = [p.strip() for p in parts if not p.startswith(u"<br ")]
        parts = [p for p in parts if len(p) > 0]
        uparts = []
        for part in parts:
            uparts.append(gf.safe_unicode(part))
        return uparts
def _get_lines_from_node_text ( cls , node ) : from lxml import etree parts = ( [ node . text ] + list ( chain ( * ( [ etree . tostring ( c , with_tail = False ) , c . tail ] for c in node . getchildren ( ) ) ) ) + [ node . tail ] ) parts = [ gf . safe_unicode ( p ) for p in parts ] parts = [ p . strip ( ) for p in parts if not p . startswith ( u"<br " ) ] parts = [ p for p in parts if len ( p ) > 0 ] uparts = [ ] for part in parts : uparts . append ( gf . safe_unicode ( part ) ) return uparts
Given an ``lxml`` node, get lines from ``node.text``,
        where the line separator is ``<br xmlns=... />``.