Mercurial > piecrust2
comparison piecrust/appconfig.py @ 1150:97b1b46cc156
config: Allow tweaking the configuration of default routes.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 29 Jul 2018 22:52:11 -0700 |
parents | 2323f0788170 |
children | 10520472cc73 |
comparison
equal
deleted
inserted
replaced
1149:be74ba54a06f | 1150:97b1b46cc156 |
---|---|
244 blog_cfg = get_default_content_model_for_blog( | 244 blog_cfg = get_default_content_model_for_blog( |
245 blog_name, is_only_blog, site_values, values, | 245 blog_name, is_only_blog, site_values, values, |
246 theme_site=self.theme_config) | 246 theme_site=self.theme_config) |
247 merge_dicts(values, blog_cfg) | 247 merge_dicts(values, blog_cfg) |
248 | 248 |
249 for route in dcm['site']['routes']: | |
250 values | |
251 | |
249 # Merge the site config into the result config. | 252 # Merge the site config into the result config. |
253 _merge_route_configs(values, site_values) | |
250 merge_dicts(values, site_values) | 254 merge_dicts(values, site_values) |
251 | 255 |
252 def _validateAll(self, values): | 256 def _validateAll(self, values): |
253 if values is None: | 257 if values is None: |
254 values = {} | 258 values = {} |
277 parent_val[parent_key] = val2 | 281 parent_val[parent_key] = val2 |
278 | 282 |
279 visit_dict(values, _visitor) | 283 visit_dict(values, _visitor) |
280 | 284 |
281 return values | 285 return values |
286 | |
287 | |
288 def _merge_route_configs(values, from_default): | |
289 actual_routes = values.get('site', {}).get('routes', []) | |
290 default_routes = from_default.get('site', {}).get('routes', []) | |
291 for dr in list(default_routes): # copy because we'll trim it as we go. | |
292 ar = next((i for i in actual_routes | |
293 if i.get('source') == dr['source']), | |
294 None) | |
295 if ar is not None: | |
296 merge_dicts(ar, dr) | |
297 default_routes.remove(dr) | |
282 | 298 |
283 | 299 |
284 class _ConfigCacheWriter(object): | 300 class _ConfigCacheWriter(object): |
285 def __init__(self, cache_dict): | 301 def __init__(self, cache_dict): |
286 self._cache_dict = cache_dict | 302 self._cache_dict = cache_dict |