Aluode/PerceptionLabPortable
0
1 2class Node(object):3 def __init__(self, tag, value, start_mark, end_mark):4 self.tag = tag5 self.value = value6 self.start_mark = start_mark7 self.end_mark = end_mark8 def __repr__(self):9 value = self.value10 #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 value = repr(value)23 return '%s(tag=%r, value=%s)' % (self.__class__.__name__, self.tag, value)24 25class ScalarNode(Node):26 id = 'scalar'27 def __init__(self, tag, value,28 start_mark=None, end_mark=None, style=None):29 self.tag = tag30 self.value = value31 self.start_mark = start_mark32 self.end_mark = end_mark33 self.style = style34 35class CollectionNode(Node):36 def __init__(self, tag, value,37 start_mark=None, end_mark=None, flow_style=None):38 self.tag = tag39 self.value = value40 self.start_mark = start_mark41 self.end_mark = end_mark42 self.flow_style = flow_style43 44class SequenceNode(CollectionNode):45 id = 'sequence'46 47class MappingNode(CollectionNode):48 id = 'mapping'49 50 