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)