Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

 

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'