codekingpro/portable-devtools
114k
1 2# Abstract classes.3 4class Event(object):5 def __init__(self, start_mark=None, end_mark=None):6 self.start_mark = start_mark7 self.end_mark = end_mark8 def __repr__(self):9 attributes = [key for key in ['anchor', 'tag', 'implicit', 'value']10 if hasattr(self, key)]11 arguments = ', '.join(['%s=%r' % (key, getattr(self, key))12 for key in attributes])13 return '%s(%s)' % (self.__class__.__name__, arguments)14 15class NodeEvent(Event):16 def __init__(self, anchor, start_mark=None, end_mark=None):17 self.anchor = anchor18 self.start_mark = start_mark19 self.end_mark = end_mark20 21class CollectionStartEvent(NodeEvent):22 def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None,23 flow_style=None):24 self.anchor = anchor25 self.tag = tag26 self.implicit = implicit27 self.start_mark = start_mark28 self.end_mark = end_mark29 self.flow_style = flow_style30 31class CollectionEndEvent(Event):32 pass33 34# Implementations.35 36class StreamStartEvent(Event):37 def __init__(self, start_mark=None, end_mark=None, encoding=None):38 self.start_mark = start_mark39 self.end_mark = end_mark40 self.encoding = encoding41 42class StreamEndEvent(Event):43 pass44 45class DocumentStartEvent(Event):46 def __init__(self, start_mark=None, end_mark=None,47 explicit=None, version=None, tags=None):48 self.start_mark = start_mark49 self.end_mark = end_mark50 self.explicit = explicit51 self.version = version52 self.tags = tags53 54class DocumentEndEvent(Event):55 def __init__(self, start_mark=None, end_mark=None,56 explicit=None):57 self.start_mark = start_mark58 self.end_mark = end_mark59 self.explicit = explicit60 61class AliasEvent(NodeEvent):62 pass63 64class ScalarEvent(NodeEvent):65 def __init__(self, anchor, tag, implicit, value,66 start_mark=None, end_mark=None, style=None):67 self.anchor = anchor68 self.tag = tag69 self.implicit = implicit70 self.value = value71 self.start_mark = start_mark72 self.end_mark = end_mark73 self.style = style74 75class SequenceStartEvent(CollectionStartEvent):76 pass77 78class SequenceEndEvent(CollectionEndEvent):79 pass80 81class MappingStartEvent(CollectionStartEvent):82 pass83 84class MappingEndEvent(CollectionEndEvent):85 pass86 87 