]> arthur.barton.de Git - netdata.git/blob - python.d/python_modules/pyyaml3/events.py
bundle pyyaml
[netdata.git] / python.d / python_modules / pyyaml3 / events.py
1
2 # Abstract classes.
3
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)
14
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
20
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
30
31 class CollectionEndEvent(Event):
32     pass
33
34 # Implementations.
35
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
41
42 class StreamEndEvent(Event):
43     pass
44
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
53
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
60
61 class AliasEvent(NodeEvent):
62     pass
63
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
74
75 class SequenceStartEvent(CollectionStartEvent):
76     pass
77
78 class SequenceEndEvent(CollectionEndEvent):
79     pass
80
81 class MappingStartEvent(CollectionStartEvent):
82     pass
83
84 class MappingEndEvent(CollectionEndEvent):
85     pass
86