Mercurial > piecrust2
comparison piecrust/app.py @ 107:10fc9c8bf682
Better support for times in YAML interop.
* Use our own sexagesimal parser/dumper for YAML to properly parse times.
* Better name for the custom parser/dumper classes.
* Add unit tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 15 Oct 2014 23:01:05 -0700 |
parents | 28ea3e69d67e |
children | 5b12c1d96523 |
comparison
equal
deleted
inserted
replaced
106:5effaf1978d0 | 107:10fc9c8bf682 |
---|---|
15 DEFAULT_DATE_FORMAT, DEFAULT_PLUGIN_SOURCE, DEFAULT_THEME_SOURCE) | 15 DEFAULT_DATE_FORMAT, DEFAULT_PLUGIN_SOURCE, DEFAULT_THEME_SOURCE) |
16 from piecrust.cache import ExtensibleCache, NullCache, NullExtensibleCache | 16 from piecrust.cache import ExtensibleCache, NullCache, NullExtensibleCache |
17 from piecrust.plugins.base import PluginLoader | 17 from piecrust.plugins.base import PluginLoader |
18 from piecrust.environment import StandardEnvironment | 18 from piecrust.environment import StandardEnvironment |
19 from piecrust.configuration import (Configuration, ConfigurationError, | 19 from piecrust.configuration import (Configuration, ConfigurationError, |
20 OrderedDictYAMLLoader, merge_dicts) | 20 ConfigurationLoader, merge_dicts) |
21 from piecrust.routing import Route | 21 from piecrust.routing import Route |
22 from piecrust.sources.base import REALM_USER, REALM_THEME | 22 from piecrust.sources.base import REALM_USER, REALM_THEME |
23 from piecrust.taxonomies import Taxonomy | 23 from piecrust.taxonomies import Taxonomy |
24 | 24 |
25 | 25 |
79 values = {} | 79 values = {} |
80 logger.debug("Loading configuration from: %s" % self.paths) | 80 logger.debug("Loading configuration from: %s" % self.paths) |
81 for i, p in enumerate(self.paths): | 81 for i, p in enumerate(self.paths): |
82 with codecs.open(p, 'r', 'utf-8') as fp: | 82 with codecs.open(p, 'r', 'utf-8') as fp: |
83 loaded_values = yaml.load(fp.read(), | 83 loaded_values = yaml.load(fp.read(), |
84 Loader=OrderedDictYAMLLoader) | 84 Loader=ConfigurationLoader) |
85 if loaded_values is None: | 85 if loaded_values is None: |
86 loaded_values = {} | 86 loaded_values = {} |
87 for fixup in self.fixups: | 87 for fixup in self.fixups: |
88 fixup(i, loaded_values) | 88 fixup(i, loaded_values) |
89 merge_dicts(values, loaded_values) | 89 merge_dicts(values, loaded_values) |