You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
 | 
						|
# Abstract classes.
 | 
						|
 | 
						|
class Event(object):
 | 
						|
    def __init__(self, start_mark=None, end_mark=None):
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
    def __repr__(self):
 | 
						|
        attributes = [key for key in ['anchor', 'tag', 'implicit', 'value']
 | 
						|
                if hasattr(self, key)]
 | 
						|
        arguments = ', '.join(['%s=%r' % (key, getattr(self, key))
 | 
						|
                for key in attributes])
 | 
						|
        return '%s(%s)' % (self.__class__.__name__, arguments)
 | 
						|
 | 
						|
class NodeEvent(Event):
 | 
						|
    def __init__(self, anchor, start_mark=None, end_mark=None):
 | 
						|
        self.anchor = anchor
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
 | 
						|
class CollectionStartEvent(NodeEvent):
 | 
						|
    def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None,
 | 
						|
            flow_style=None):
 | 
						|
        self.anchor = anchor
 | 
						|
        self.tag = tag
 | 
						|
        self.implicit = implicit
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.flow_style = flow_style
 | 
						|
 | 
						|
class CollectionEndEvent(Event):
 | 
						|
    pass
 | 
						|
 | 
						|
# Implementations.
 | 
						|
 | 
						|
class StreamStartEvent(Event):
 | 
						|
    def __init__(self, start_mark=None, end_mark=None, encoding=None):
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.encoding = encoding
 | 
						|
 | 
						|
class StreamEndEvent(Event):
 | 
						|
    pass
 | 
						|
 | 
						|
class DocumentStartEvent(Event):
 | 
						|
    def __init__(self, start_mark=None, end_mark=None,
 | 
						|
            explicit=None, version=None, tags=None):
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.explicit = explicit
 | 
						|
        self.version = version
 | 
						|
        self.tags = tags
 | 
						|
 | 
						|
class DocumentEndEvent(Event):
 | 
						|
    def __init__(self, start_mark=None, end_mark=None,
 | 
						|
            explicit=None):
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.explicit = explicit
 | 
						|
 | 
						|
class AliasEvent(NodeEvent):
 | 
						|
    pass
 | 
						|
 | 
						|
class ScalarEvent(NodeEvent):
 | 
						|
    def __init__(self, anchor, tag, implicit, value,
 | 
						|
            start_mark=None, end_mark=None, style=None):
 | 
						|
        self.anchor = anchor
 | 
						|
        self.tag = tag
 | 
						|
        self.implicit = implicit
 | 
						|
        self.value = value
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.style = style
 | 
						|
 | 
						|
class SequenceStartEvent(CollectionStartEvent):
 | 
						|
    pass
 | 
						|
 | 
						|
class SequenceEndEvent(CollectionEndEvent):
 | 
						|
    pass
 | 
						|
 | 
						|
class MappingStartEvent(CollectionStartEvent):
 | 
						|
    pass
 | 
						|
 | 
						|
class MappingEndEvent(CollectionEndEvent):
 | 
						|
    pass
 | 
						|
 |