You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
49 lines
1.4 KiB
|
|
class Node(object): |
|
def __init__(self, tag, value, start_mark, end_mark): |
|
self.tag = tag |
|
self.value = value |
|
self.start_mark = start_mark |
|
self.end_mark = end_mark |
|
def __repr__(self): |
|
value = self.value |
|
#if isinstance(value, list): |
|
# if len(value) == 0: |
|
# value = '<empty>' |
|
# elif len(value) == 1: |
|
# value = '<1 item>' |
|
# else: |
|
# value = '<%d items>' % len(value) |
|
#else: |
|
# if len(value) > 75: |
|
# value = repr(value[:70]+u' ... ') |
|
# else: |
|
# value = repr(value) |
|
value = repr(value) |
|
return '%s(tag=%r, value=%s)' % (self.__class__.__name__, self.tag, value) |
|
|
|
class ScalarNode(Node): |
|
id = 'scalar' |
|
def __init__(self, tag, value, |
|
start_mark=None, end_mark=None, style=None): |
|
self.tag = tag |
|
self.value = value |
|
self.start_mark = start_mark |
|
self.end_mark = end_mark |
|
self.style = style |
|
|
|
class CollectionNode(Node): |
|
def __init__(self, tag, value, |
|
start_mark=None, end_mark=None, flow_style=None): |
|
self.tag = tag |
|
self.value = value |
|
self.start_mark = start_mark |
|
self.end_mark = end_mark |
|
self.flow_style = flow_style |
|
|
|
class SequenceNode(CollectionNode): |
|
id = 'sequence' |
|
|
|
class MappingNode(CollectionNode): |
|
id = 'mapping' |
|
|
|
|