コード例 #1
0
 def test_deep_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2 ((c3 ((c4)))))))')
     tree = parser.node()
     nodes = []
     for node in depth_first_iterator(tree):
         nodes.append(node.name)
     self.assertEqual(nodes, ['c1', 'c2', 'c3', 'c4'])
コード例 #2
0
 def test_deep_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2 ((c3 ((c4)))))))')
     tree = parser.node()
     nodes = []
     for node in depth_first_iterator(tree):
         nodes.append(node.name)
     self.assertEqual(nodes, ['c1', 'c2', 'c3', 'c4'])
コード例 #3
0
 def test_single_node(self):
     parser = NodeParser()
     parser.parse('(c1)')
     tree = parser.node()
     nodes = []
     for node in depth_first_iterator(tree):
         nodes.append(node.name)
     self.assertEqual(nodes, ['c1'])
コード例 #4
0
 def test_empty_tree(self):
     parser = NodeParser()
     parser.parse('()')
     tree = parser.node()
     nodes = []
     for node in depth_first_iterator(tree):
         nodes.append(node.name)
     self.assertEqual(nodes, [])
コード例 #5
0
 def test_single_node(self):
     parser = NodeParser()
     parser.parse('(c1)')
     tree = parser.node()
     nodes = []
     for node in depth_first_iterator(tree):
         nodes.append(node.name)
     self.assertEqual(nodes, ['c1'])
コード例 #6
0
 def test_empty_tree(self):
     parser = NodeParser()
     parser.parse('()')
     tree = parser.node()
     nodes = []
     for node in depth_first_iterator(tree):
         nodes.append(node.name)
     self.assertEqual(nodes, [])
コード例 #7
0
def main():
    '''Function that will parse the given file and convert the tree to the
       format specified'''
    arg_parser = ArgumentParser(description='tree structured data '
                                            'converter')
    arg_parser.add_argument('file', type=FileType('r'),
                            help='file to parse')
    arg_parser.add_argument('--format', type=str, default='string',
                            help='format to convert to, default = string')
    options = arg_parser.parse_args()
    tree_str = '\n'.join(options.file.readlines())
    options.file.close()
    node_parser = NodeParser()
    node_parser.parse(tree_str)
    tree = node_parser.node()
    if options.format == 'xml':
        writer = XmlWriter()
    elif options.format == 'relational':
        writer = RelationalWriter()
    else:
        writer = IndentedStringWriter()
    print(writer.write(tree))
コード例 #8
0
def main():
    '''Function that will parse the given file and convert the tree to the
       format specified'''
    arg_parser = ArgumentParser(description='tree structured data '
                                'converter')
    arg_parser.add_argument('file', type=FileType('r'), help='file to parse')
    arg_parser.add_argument('--format',
                            type=str,
                            default='string',
                            help='format to convert to, default = string')
    options = arg_parser.parse_args()
    tree_str = '\n'.join(options.file.readlines())
    options.file.close()
    node_parser = NodeParser()
    node_parser.parse(tree_str)
    tree = node_parser.node()
    if options.format == 'xml':
        writer = XmlWriter()
    elif options.format == 'relational':
        writer = RelationalWriter()
    else:
        writer = IndentedStringWriter()
    print(writer.write(tree))
コード例 #9
0
 def test_deep_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2 ((c3 ((c4)))))))')
     tree = parser.node()
     self.assertEqual(depth(tree), 4)
コード例 #10
0
 def test_single_node(self):
     parser = NodeParser()
     parser.parse('(c1)')
     tree = parser.node()
     self.assertEqual(depth(tree), 1)
コード例 #11
0
 def test_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2) (c3 ((c4) (c5))) (c6)))')
     tree = parser.node()
     self.assertEqual(depth(tree), 3)
コード例 #12
0
 def test_deep_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2 ((c3 ((c4)))))))')
     tree = parser.node()
     self.assertEqual(nr_leaf_nodes(tree), 1)
コード例 #13
0
 def test_empty_tree(self):
     parser = NodeParser()
     parser.parse('()')
     tree = parser.node()
     self.assertEqual(depth(tree), 0)
コード例 #14
0
 def test_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2) (c3 ((c4) (c5))) (c6)))')
     tree = parser.node()
     self.assertEqual(nr_leaf_nodes(tree), 4)
コード例 #15
0
 def test_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2) (c3 ((c4) (c5))) (c6)))')
     tree = parser.node()
     self.assertEqual(nr_leaf_nodes(tree), 4)
コード例 #16
0
 def test_deep_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2 ((c3 ((c4)))))))')
     tree = parser.node()
     self.assertEqual(nr_leaf_nodes(tree), 1)
コード例 #17
0
 def test_empty_tree(self):
     parser = NodeParser()
     parser.parse('()')
     tree = parser.node()
     self.assertEqual(depth(tree), 0)
コード例 #18
0
 def test_single_node(self):
     parser = NodeParser()
     parser.parse('(c1)')
     tree = parser.node()
     self.assertEqual(depth(tree), 1)
コード例 #19
0
 def test_deep_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2 ((c3 ((c4)))))))')
     tree = parser.node()
     self.assertEqual(depth(tree), 4)
コード例 #20
0
 def test_tree(self):
     parser = NodeParser()
     parser.parse('(c1 ((c2) (c3 ((c4) (c5))) (c6)))')
     tree = parser.node()
     self.assertEqual(depth(tree), 3)
コード例 #21
0
 def test_empty_tree(self):
     parser = NodeParser()
     parser.parse('()')
     tree = parser.node()
     self.assertEqual(nr_leaf_nodes(tree), 0)
コード例 #22
0
 def test_empty_tree(self):
     parser = NodeParser()
     parser.parse('()')
     tree = parser.node()
     self.assertEqual(nr_leaf_nodes(tree), 0)