Project

General

Profile

« Previous | Next » 

Revision 4328

xml_dom.py: Added only_child() and use it where its definition was used

View differences:

lib/xml_dom.py
139 139

  
140 140
def last_elem(node): return NodeElemReverseIter(node).next()
141 141

  
142
def only_child(node):
143
    assert has_one_child(node) # TODO: convert to an exception
144
    return node.firstChild
145

  
142 146
class NodeEntryIter:
143 147
    def __init__(self, node): self.iter_ = NodeElemIter(node)
144 148
    
......
147 151
    def next(self):
148 152
        entry = self.iter_.next()
149 153
        if is_empty(entry): value = None
150
        else:
151
            assert has_one_child(entry) # TODO: convert to an exception
152
            value = entry.firstChild
154
        else: value = only_child(entry)
153 155
        return (entry.tagName, value)
154 156

  
155 157
##### Parent nodes
......
223 225
        entry = self.iter_.next()
224 226
        if is_empty(entry): value_ = None
225 227
        elif is_text(entry): value_ = value(entry)
226
        else:
227
            assert has_one_child(entry) # TODO: convert to an exception
228
            value_ = entry.firstChild
228
        else: value_ = only_child(entry)
229 229
        return (entry.tagName, value_)
230 230

  
231 231
def is_text_node_entry(val): return util.is_str(val[1])

Also available in: Unified diff