source: pyyaml/trunk/lib/yaml/nodes.py @ 132

Revision 132, 1.1 KB checked in by xi, 9 years ago (diff)

Emitter is done!!!

Line 
1
2class Node:
3    def __init__(self, tag, value, start_mark, end_mark):
4        self.tag = tag
5        self.value = value
6        self.start_mark = start_mark
7        self.end_mark = end_mark
8    def __repr__(self):
9        value = self.value
10        if isinstance(value, list):
11            if len(value) == 0:
12                value = '<empty>'
13            elif len(value) == 1:
14                value = '<1 item>'
15            else:
16                value = '<%d items>' % len(value)
17        else:
18            if len(value) > 75:
19                value = repr(value[:70]+u' ... ')
20            else:
21                value = repr(value)
22        return '%s(tag=%r, value=%s)' % (self.__class__.__name__, self.tag, value)
23
24class ScalarNode(Node):
25    id = 'scalar'
26    def __init__(self, tag, value, implicit, start_mark, end_mark):
27        self.tag = tag
28        self.value = value
29        self.implicit = implicit
30        self.start_mark = start_mark
31        self.end_mark = end_mark
32
33class CollectionNode(Node):
34    pass
35
36class SequenceNode(CollectionNode):
37    id = 'sequence'
38
39class MappingNode(CollectionNode):
40    id = 'mapping'
41
Note: See TracBrowser for help on using the repository browser.