当前位置: 首页>>代码示例>>Python>>正文


Python Node.children方法代码示例

本文整理汇总了Python中regparser.tree.struct.Node.children方法的典型用法代码示例。如果您正苦于以下问题:Python Node.children方法的具体用法?Python Node.children怎么用?Python Node.children使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在regparser.tree.struct.Node的用法示例。


在下文中一共展示了Node.children方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_replace_node_and_subtree

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_replace_node_and_subtree(self):
        n1 = Node('n1', label=['205', '1'])
        n2 = Node('n2', label=['205', '2'])
        n4 = Node('n4', label=['205', '4'])

        n2a = Node('n2a', label=['205', '2', 'a'])
        n2b = Node('n2b', label=['205', '2', 'b'])
        n2.children = [n2a, n2b]

        root = Node('', label=['205'])
        root.children = [n1, n2, n4]

        reg_tree = compiler.RegulationTree(root)

        a2 = Node('a2', label=['205', '2'])
        a2e = Node('a2e', label=['205', '2', 'e'])
        a2f = Node('a2f', label=['205', '2', 'f'])
        a2.children = [a2e, a2f]

        reg_tree.replace_node_and_subtree(a2)

        new_tree = Node('', label=[205])
        new_tree.children = [n1, a2, n4]

        self.assertEqual(new_tree, reg_tree.tree)
        self.assertEqual(None, find(reg_tree.tree, '205-2-a'))
开发者ID:theresaanna,项目名称:regulations-parser,代码行数:28,代码来源:notice_compiler_tests.py

示例2: build_tree

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
def build_tree(reg_xml):
    doc = etree.fromstring(reg_xml)
    preprocess_xml(doc)

    reg_part = get_reg_part(doc)
    title = get_title(doc)

    tree = Node("", [], [reg_part], title)

    part = doc.xpath('//PART')[0]

    subpart_xmls = [c for c in part.getchildren() if c.tag == 'SUBPART']
    if len(subpart_xmls) > 0:
        subparts = [build_subpart(reg_part, s) for s in subpart_xmls]
        tree.children = subparts
    else:
        section_xmls = [c for c in part.getchildren() if c.tag == 'SECTION']
        sections = []
        for section_xml in section_xmls:
            sections.extend(build_from_section(reg_part, section_xml))
        empty_part = reg_text.build_empty_part(reg_part)
        empty_part.children = sections
        tree.children = [empty_part]

    non_reg_sections = build_non_reg_text(doc, reg_part)
    tree.children += non_reg_sections

    return tree
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:30,代码来源:reg_text.py

示例3: test_move_interps

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_move_interps(self):
        n1 = Node('n1', label=['205', '1', 'Interp'], node_type=Node.INTERP)
        n2 = Node('n2', label=['205', '2', 'Interp'], node_type=Node.INTERP)
        n4 = Node('n4', label=['205', '4', 'Interp'], node_type=Node.INTERP)

        n4c = Node(
            'n4c', label=['205', '4', 'c', 'Interp'],
            node_type=Node.INTERP)

        n4.children = [n4c]

        n2a = Node(
            'n2a', label=['205', '2', 'a', 'Interp'],
            node_type=Node.INTERP)
        n2b = Node(
            'n2b', label=['205', '2', 'b', 'Interp'],
            node_type=Node.INTERP)
        n2a1 = Node(
            '1. First', label=['205', '2', 'a', 'Interp', '1'],
            node_type=Node.INTERP)

        n2a.children = [n2a1]
        n2.children = [n2a, n2b]

        root = Node('', label=['205', 'Interp'], node_type=Node.INTERP)
        root.children = [n1, n2, n4]

        reg_tree = compiler.RegulationTree(root)
        reg_tree.move('205-2-a-Interp-1', ['205', '4', 'c', 'Interp', '5'])
开发者ID:theresaanna,项目名称:regulations-parser,代码行数:31,代码来源:notice_compiler_tests.py

示例4: test_replace_node_and_subtree

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_replace_node_and_subtree(self):
        n1 = Node("n1", label=["205", "1"])
        n2 = Node("n2", label=["205", "2"])
        n4 = Node("n4", label=["205", "4"])

        n2a = Node("n2a", label=["205", "2", "a"])
        n2b = Node("n2b", label=["205", "2", "b"])
        n2.children = [n2a, n2b]

        root = Node("", label=["205"])
        root.children = [n1, n2, n4]

        reg_tree = compiler.RegulationTree(root)

        a2 = Node("a2", label=["205", "2"])
        a2e = Node("a2e", label=["205", "2", "e"])
        a2f = Node("a2f", label=["205", "2", "f"])
        a2.children = [a2e, a2f]

        reg_tree.replace_node_and_subtree(a2)

        new_tree = Node("", label=[205])
        new_tree.children = [n1, a2, n4]

        self.assertEqual(new_tree, reg_tree.tree)
        self.assertEqual(None, find(reg_tree.tree, "205-2-a"))
开发者ID:phildini,项目名称:regulations-parser,代码行数:28,代码来源:notice_compiler_tests.py

示例5: build_tree

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def build_tree(self):
        n1 = Node('n1', label=['200', '1'])
        n2 = Node('n1i', label=['200', 1, 'i'])
        n3 = Node('n2', label=['200', '2'])
        n4 = Node('n3', label=['200', '3'])
        n5 = Node('n3a', label=['200', '3', 'a'])

        n1.children = [n2]
        n4.children = [n5]
        root = Node('root', label=['200'], children=[n1, n3, n4])
        return root
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:13,代码来源:notice_changes_tests.py

示例6: tree_with_paragraphs

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def tree_with_paragraphs(self):
        n1 = Node('n1', label=['205', '1'])
        n2 = Node('n2', label=['205', '2'])
        n4 = Node('n4', label=['205', '4'])

        n2a = Node('n2a', label=['205', '2', 'a'])
        n2b = Node('n2b', label=['205', '2', 'b'])
        n2.children = [n2a, n2b]

        root = Node('', label=['205'])
        root.children = [n1, n2, n4]
        return root
开发者ID:theresaanna,项目名称:regulations-parser,代码行数:14,代码来源:notice_compiler_tests.py

示例7: tree_with_paragraphs

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def tree_with_paragraphs(self):
        n1 = Node("n1", label=["205", "1"])
        n2 = Node("n2", label=["205", "2"])
        n4 = Node("n4", label=["205", "4"])

        n2a = Node("n2a", label=["205", "2", "a"])
        n2b = Node("n2b", label=["205", "2", "b"])
        n2.children = [n2a, n2b]

        root = Node("", label=["205"])
        root.children = [n1, n2, n4]
        return root
开发者ID:phildini,项目名称:regulations-parser,代码行数:14,代码来源:notice_compiler_tests.py

示例8: test_add_section

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_add_section(self):
        nsa = Node("nsa", label=["205", "Subpart", "A"], node_type=Node.SUBPART)

        nappa = Node("nappa", label=["205", "Appendix", "C"], node_type=Node.APPENDIX)

        root = Node("", label=["205"])
        root.children = [nsa, nappa]

        n1 = Node("", label=["205", "1"])

        reg_tree = compiler.RegulationTree(root)
        reg_tree.add_section(n1, ["205", "Subpart", "A"])

        nsa.children = [n1]
        self.assertEqual(reg_tree.tree, root)
开发者ID:phildini,项目名称:regulations-parser,代码行数:17,代码来源:notice_compiler_tests.py

示例9: test_find_candidate_impossible_label

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_find_candidate_impossible_label(self):
        n1 = Node("", label=["200", "1"])
        n1a = Node("", label=["200", "1", "a"])

        n1a1i = Node("", label=["200", "1", "a", "1", "i"])
        n1a.children = [n1a1i]

        n1b = Node("", label=["200", "1", "b"])
        n1i = Node("", label=["200", "1", "i"])
        n1.children = [n1a, n1b, n1i]

        root = Node("root", label=["200"], children=[n1])
        candidate = changes.find_candidate(root, "i", ["200-1-a", "200-1-b"])[0]

        self.assertEqual(candidate.label, ["200", "1", "i"])
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:17,代码来源:notice_changes_tests.py

示例10: test_add_node_dummy_subpart

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_add_node_dummy_subpart(self):
        """If the tree consists only of the empty subpart, adding a new
        section should insert into the empty subpart"""
        root = Node(label=["1"])
        empty = Node(label=["1", "Subpart"], node_type="emptypart")
        n1 = Node("n1", label=["1", "1"])
        n2 = Node("n2", label=["1", "2"])
        empty.children = [n1, n2]
        root.children = [empty]
        reg_tree = compiler.RegulationTree(root)

        node = Node("n3", label=["1", "3"], node_type=Node.REGTEXT)
        reg_tree.add_node(node)

        self.assertEqual(len(reg_tree.tree.children), 1)
        self.assertEqual(len(reg_tree.tree.children[0].children), 3)
开发者ID:phildini,项目名称:regulations-parser,代码行数:18,代码来源:notice_compiler_tests.py

示例11: test_add_to_root

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_add_to_root(self):
        nsa = Node("nsa", label=["205", "Subpart", "A"], node_type=Node.SUBPART)

        nappa = Node("nappa", label=["205", "Appendix", "C"], node_type=Node.APPENDIX)

        root = Node("", label=["205"])
        root.children = [nsa, nappa]

        reg_tree = compiler.RegulationTree(root)

        nappb = Node("nappb", label=["205", "Appendix", "B"], node_type=Node.APPENDIX)

        reg_tree.add_to_root(nappb)
        root.children = [nsa, nappb, nappa]

        self.assertEqual(reg_tree.tree, root)
开发者ID:phildini,项目名称:regulations-parser,代码行数:18,代码来源:notice_compiler_tests.py

示例12: section_node

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def section_node(self):
        n1 = Node('n2', label=['200', '2'])
        n2 = Node('n2a', label=['200', '2', 'a'])

        n1.children = [n2]
        root = Node('root', label=['200'], children=[n1])
        return root
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:9,代码来源:notice_changes_tests.py

示例13: test_find_candidate_impossible_label

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def test_find_candidate_impossible_label(self):
        n1 = Node('', label=['200', '1'])
        n1a = Node('', label=['200', '1', 'a'])

        n1a1i = Node('', label=['200', '1', 'a', '1', 'i'])
        n1a.children = [n1a1i]

        n1b = Node('', label=['200', '1', 'b'])
        n1i = Node('', label=['200', '1', 'i'])
        n1.children = [n1a, n1b, n1i]

        root = Node('root', label=['200'], children=[n1])
        candidate = changes.find_candidate(
            root, 'i', ['200-1-a', '200-1-b'])[0]

        self.assertEqual(candidate.label, ['200', '1', 'i'])
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:18,代码来源:notice_changes_tests.py

示例14: build_tree

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
def build_tree(reg_xml):
    logger.info("Build tree %s", reg_xml)
    preprocess_xml(reg_xml)

    reg_part = get_reg_part(reg_xml)
    title = get_title(reg_xml)

    tree = Node("", [], [reg_part], title)

    part = reg_xml.xpath('//PART')[0]

    # Build a list of SUBPARTs, then pull SUBJGRPs into that list:
    subpart_and_subjgrp_xmls = []
    for subpart in part.xpath('./SUBPART|./SUBJGRP'):
        subpart_and_subjgrp_xmls.append(subpart)
        # SUBJGRPS can be nested, particularly inside SUBPARTs
        for subjgrp in subpart.xpath('./SUBJGRP'):
            subpart_and_subjgrp_xmls.append(subjgrp)

    if len(subpart_and_subjgrp_xmls) > 0:
        subthings = []
        letter_list = []
        for subthing in subpart_and_subjgrp_xmls:
            if subthing.tag == "SUBPART":
                subthings.append(build_subpart(reg_part, subthing))
            elif subthing.tag == "SUBJGRP":
                built_subjgrp = build_subjgrp(reg_part, subthing, letter_list)
                letter_list.append(built_subjgrp.label[-1])
                subthings.append(built_subjgrp)

        tree.children = subthings
    else:
        section_xmls = [c for c in part.getchildren() if c.tag == 'SECTION']
        sections = []
        for section_xml in section_xmls:
            sections.extend(build_from_section(reg_part, section_xml))
        empty_part = reg_text.build_empty_part(reg_part)
        empty_part.children = sections
        tree.children = [empty_part]

    non_reg_sections = build_non_reg_text(reg_xml, reg_part)
    tree.children += non_reg_sections

    return tree
开发者ID:tadhg-ohiggins,项目名称:regulations-parser,代码行数:46,代码来源:reg_text.py

示例15: tree_with_subparts

# 需要导入模块: from regparser.tree.struct import Node [as 别名]
# 或者: from regparser.tree.struct.Node import children [as 别名]
    def tree_with_subparts(self):
        nsa = Node("nsa", label=["205", "Subpart", "A"], node_type=Node.SUBPART)

        nsb = Node("nsb", label=["205", "Subpart", "B"], node_type=Node.SUBPART)

        nappa = Node("nappa", label=["205", "Appendix", "C"], node_type=Node.APPENDIX)

        root = Node("", label=["205"])
        root.children = [nsa, nsb, nappa]
        return root
开发者ID:phildini,项目名称:regulations-parser,代码行数:12,代码来源:notice_compiler_tests.py


注:本文中的regparser.tree.struct.Node.children方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。