Subclass all base classes from `object`.
[pyyaml/python3.git] / lib / yaml / events.py
blobf79ad389cb6c9517e391dcd25534866bc9ccd36a
2 # Abstract classes.
4 class Event(object):
5 def __init__(self, start_mark=None, end_mark=None):
6 self.start_mark = start_mark
7 self.end_mark = end_mark
8 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)
15 class NodeEvent(Event):
16 def __init__(self, anchor, start_mark=None, end_mark=None):
17 self.anchor = anchor
18 self.start_mark = start_mark
19 self.end_mark = end_mark
21 class CollectionStartEvent(NodeEvent):
22 def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None,
23 flow_style=None):
24 self.anchor = anchor
25 self.tag = tag
26 self.implicit = implicit
27 self.start_mark = start_mark
28 self.end_mark = end_mark
29 self.flow_style = flow_style
31 class CollectionEndEvent(Event):
32 pass
34 # Implementations.
36 class StreamStartEvent(Event):
37 def __init__(self, start_mark=None, end_mark=None, encoding=None):
38 self.start_mark = start_mark
39 self.end_mark = end_mark
40 self.encoding = encoding
42 class StreamEndEvent(Event):
43 pass
45 class DocumentStartEvent(Event):
46 def __init__(self, start_mark=None, end_mark=None,
47 explicit=None, version=None, tags=None):
48 self.start_mark = start_mark
49 self.end_mark = end_mark
50 self.explicit = explicit
51 self.version = version
52 self.tags = tags
54 class DocumentEndEvent(Event):
55 def __init__(self, start_mark=None, end_mark=None,
56 explicit=None):
57 self.start_mark = start_mark
58 self.end_mark = end_mark
59 self.explicit = explicit
61 class AliasEvent(NodeEvent):
62 pass
64 class ScalarEvent(NodeEvent):
65 def __init__(self, anchor, tag, implicit, value,
66 start_mark=None, end_mark=None, style=None):
67 self.anchor = anchor
68 self.tag = tag
69 self.implicit = implicit
70 self.value = value
71 self.start_mark = start_mark
72 self.end_mark = end_mark
73 self.style = style
75 class SequenceStartEvent(CollectionStartEvent):
76 pass
78 class SequenceEndEvent(CollectionEndEvent):
79 pass
81 class MappingStartEvent(CollectionStartEvent):
82 pass
84 class MappingEndEvent(CollectionEndEvent):
85 pass