Mercurial > hgrepos > Python > libs > ConfigMix
comparison configmix/yaml.py @ 21:ce290b10dac5
Better Py2/Py3 compatibility: mark some strings explicitly as Unicode
| author | Franz Glasner <f.glasner@feldmann-mg.com> |
|---|---|
| date | Thu, 10 Mar 2016 13:28:09 +0100 |
| parents | dc058099a4cb |
| children | aa8345dae995 |
comparison
equal
deleted
inserted
replaced
| 20:9bdc4e421415 | 21:ce290b10dac5 |
|---|---|
| 13 from ordereddict import OrderedDict | 13 from ordereddict import OrderedDict |
| 14 except ImportError: | 14 except ImportError: |
| 15 OrderedDict = None | 15 OrderedDict = None |
| 16 import yaml | 16 import yaml |
| 17 import yaml.constructor | 17 import yaml.constructor |
| 18 | |
| 19 from .compat import u | |
| 18 | 20 |
| 19 | 21 |
| 20 __all__ = ["safe_load", "safe_load_all", "load", "load_all"] | 22 __all__ = ["safe_load", "safe_load_all", "load", "load_all"] |
| 21 | 23 |
| 22 | 24 |
| 69 mapping[key] = value | 71 mapping[key] = value |
| 70 return mapping | 72 return mapping |
| 71 | 73 |
| 72 | 74 |
| 73 ConfigLoader.add_constructor( | 75 ConfigLoader.add_constructor( |
| 74 "tag:yaml.org,2002:str", | 76 u("tag:yaml.org,2002:str"), |
| 75 ConfigLoader.construct_yaml_str) | 77 ConfigLoader.construct_yaml_str) |
| 76 if OrderedDict: | 78 if OrderedDict: |
| 77 ConfigLoader.add_constructor( | 79 ConfigLoader.add_constructor( |
| 78 "tag:yaml.org,2002:map", | 80 u("tag:yaml.org,2002:map"), |
| 79 ConfigLoader.construct_yaml_map) | 81 ConfigLoader.construct_yaml_map) |
| 80 ConfigLoader.add_constructor( | 82 ConfigLoader.add_constructor( |
| 81 "tag:yaml.org,2002:omap", | 83 u("tag:yaml.org,2002:omap"), |
| 82 ConfigLoader.construct_yaml_map) | 84 ConfigLoader.construct_yaml_map) |
| 83 | 85 |
| 84 | 86 |
| 85 class ConfigSafeLoader(yaml.SafeLoader): | 87 class ConfigSafeLoader(yaml.SafeLoader): |
| 86 | 88 |
| 131 mapping[key] = value | 133 mapping[key] = value |
| 132 return mapping | 134 return mapping |
| 133 | 135 |
| 134 | 136 |
| 135 ConfigSafeLoader.add_constructor( | 137 ConfigSafeLoader.add_constructor( |
| 136 "tag:yaml.org,2002:str", | 138 u("tag:yaml.org,2002:str"), |
| 137 ConfigSafeLoader.construct_yaml_str) | 139 ConfigSafeLoader.construct_yaml_str) |
| 138 if OrderedDict: | 140 if OrderedDict: |
| 139 ConfigSafeLoader.add_constructor( | 141 ConfigSafeLoader.add_constructor( |
| 140 "tag:yaml.org,2002:map", | 142 u("tag:yaml.org,2002:map"), |
| 141 ConfigSafeLoader.construct_yaml_map) | 143 ConfigSafeLoader.construct_yaml_map) |
| 142 ConfigSafeLoader.add_constructor( | 144 ConfigSafeLoader.add_constructor( |
| 143 "tag:yaml.org,2002:omap", | 145 u("tag:yaml.org,2002:omap"), |
| 144 ConfigSafeLoader.construct_yaml_map) | 146 ConfigSafeLoader.construct_yaml_map) |
| 145 | 147 |
| 146 | 148 |
| 147 def load(stream, Loader=ConfigLoader): | 149 def load(stream, Loader=ConfigLoader): |
| 148 return yaml.load(stream, Loader) | 150 return yaml.load(stream, Loader) |
