src/newick.py
def _parse_siblings(s, **kw):
    """
    http://stackoverflow.com/a/26809037
    """
    bracket_level = 0
    current = []

    # trick to remove special-case of trailing chars
    for c in (s + ","):
        if c == "," and bracket_level == 0:
            yield parse_node("".join(current), **kw)
            current = []
        else:
            if c == "(":
                bracket_level += 1
            elif c == ")":
                bracket_level -= 1
            current.append(c)
def _parse_siblings(s, **kw):
    """
    http://stackoverflow.com/a/26809037
    """
    bracket_level = 0
    current = []

    # trick to remove special-case of trailing chars
    for c in (s + ","):
        if c == "," and bracket_level == 0:
            yield parse_node("".join(current), **kw)
            current = []
        else:
            if c == "(":
                bracket_level += 1
            elif c == ")":
                bracket_level -= 1
            current.append(c)
def _parse_siblings ( s , * * kw ) : bracket_level = 0 current = [ ] # trick to remove special-case of trailing chars for c in ( s + "," ) : if c == "," and bracket_level == 0 : yield parse_node ( "" . join ( current ) , * * kw ) current = [ ] else : if c == "(" : bracket_level += 1 elif c == ")" : bracket_level -= 1 current . append ( c )
http://stackoverflow.com/a/26809037
http : // stackoverflow . com / a / 26809037