source: branches/pyyaml3000/lib/yaml/nodes.py @ 55

Revision 55, 920 bytes checked in by xi, 8 years ago (diff)

Working on Constructor.

Line 
1
2class Node:
3    def __init__(self, tag, value, start_marker, end_marker):
4        self.tag = tag
5        self.value = value
6        self.start_marker = start_marker
7        self.end_marker = end_marker
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
27class CollectionNode(Node):
28    pass
29
30class SequenceNode(CollectionNode):
31    id = 'sequence'
32
33class MappingNode(CollectionNode):
34    id = 'mapping'
35
Note: See TracBrowser for help on using the repository browser.