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

# Licensed under the Apache License, Version 2.0 (the "License"); you may 

# not use this file except in compliance with the License. You may obtain 

# a copy of the License at 

# 

#      http://www.apache.org/licenses/LICENSE-2.0 

# 

# Unless required by applicable law or agreed to in writing, software 

# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

# License for the specific language governing permissions and limitations 

# under the License. 

 

import yaml 

 

 

17if hasattr(yaml, 'CSafeDumper'): 

    yaml_dumper = yaml.CSafeDumper 

else: 

    yaml_dumper = yaml.SafeDumper 

 

 

def load(s): 

    try: 

        yml_dict = yaml.safe_load(s) 

    except yaml.YAMLError as exc: 

        msg = 'An error occurred during YAML parsing.' 

30        if hasattr(exc, 'problem_mark'): 

            msg += ' Error position: (%s:%s)' % (exc.problem_mark.line + 1, 

                                                 exc.problem_mark.column + 1) 

        raise ValueError(msg) 

    if not isinstance(yml_dict, dict) and not isinstance(yml_dict, list): 

        raise ValueError('The source is not a YAML mapping or list.') 

    if isinstance(yml_dict, dict) and len(yml_dict) < 1: 

        raise ValueError('Could not find any element in your YAML mapping.') 

    return yml_dict 

 

 

def dump(s): 

    return yaml.dump(s, Dumper=yaml_dumper)