Mercurial > piecrust2
diff piecrust/configuration.py @ 853:f070a4fc033c
core: Continue PieCrust3 refactor, simplify pages.
The asset pipeline is still the only function pipeline at this point.
* No more `QualifiedPage`, and several other pieces of code deleted.
* Data providers are simpler and more focused. For instance, the page iterator
doesn't try to support other types of items.
* Route parameters are proper known source metadata to remove the confusion
between the two.
* Make the baker and pipeline more correctly manage records and record
histories.
* Add support for record collapsing and deleting stale outputs in the asset
pipeline.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 21 May 2017 00:06:59 -0700 |
parents | 4850f8c21b6e |
children | 7e51d14097cb |
line wrap: on
line diff
--- a/piecrust/configuration.py Wed May 17 00:11:48 2017 -0700 +++ b/piecrust/configuration.py Sun May 21 00:06:59 2017 -0700 @@ -15,6 +15,13 @@ default_allowed_types = (dict, list, tuple, float, int, bool, str) +MERGE_NEW_VALUES = 0 +MERGE_OVERWRITE_VALUES = 1 +MERGE_PREPEND_LISTS = 2 +MERGE_APPEND_LISTS = 4 +MERGE_ALL = MERGE_OVERWRITE_VALUES | MERGE_PREPEND_LISTS + + class ConfigurationError(Exception): pass @@ -64,7 +71,7 @@ self._ensureLoaded() return self._values - def merge(self, other): + def merge(self, other, mode=MERGE_ALL): self._ensureLoaded() if isinstance(other, dict): @@ -162,13 +169,6 @@ cur = cur[b] -MERGE_NEW_VALUES = 0 -MERGE_OVERWRITE_VALUES = 1 -MERGE_PREPEND_LISTS = 2 -MERGE_APPEND_LISTS = 4 -MERGE_ALL = MERGE_OVERWRITE_VALUES | MERGE_PREPEND_LISTS - - def merge_dicts(source, merging, *args, validator=None, mode=MERGE_ALL): _recurse_merge_dicts(source, merging, None, validator, mode)