Mercurial > piecrust2
diff piecrust/app.py @ 909:eed19a80c00e
chef: Allow multiple config variants to be applied.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 23 Jul 2017 18:01:26 -0700 |
parents | cc2647360036 |
children | 8adc27285d93 |
line wrap: on
line diff
--- a/piecrust/app.py Sun Jul 23 08:31:05 2017 -0700 +++ b/piecrust/app.py Sun Jul 23 18:01:26 2017 -0700 @@ -253,12 +253,13 @@ return dirs -def apply_variant_and_values(app, config_variant=None, config_values=None): - if config_variant is not None: - logger.debug("Adding configuration variant '%s'." % config_variant) - variant_path = os.path.join( - app.root_dir, 'configs', '%s.yml' % config_variant) - app.config.addVariant(variant_path) +def apply_variants_and_values(app, config_variants=None, config_values=None): + if config_variants is not None: + for value in config_variants: + logger.debug("Adding configuration variant '%s'." % value) + variant_path = os.path.join( + app.root_dir, 'configs', '%s.yml' % value) + app.config.addVariant(variant_path) if config_values is not None: for name, value in config_values: @@ -273,12 +274,12 @@ def __init__( self, root_dir, *, cache=True, cache_key=None, - config_variant=None, config_values=None, + config_variants=None, config_values=None, debug=False, theme_site=False): self.root_dir = root_dir self.cache = cache self.cache_key = cache_key - self.config_variant = config_variant + self.config_variants = config_variants self.config_values = config_values self.debug = debug self.theme_site = theme_site @@ -290,7 +291,7 @@ cache_key=self.cache_key, debug=self.debug, theme_site=self.theme_site) - apply_variant_and_values( - app, self.config_variant, self.config_values) + apply_variants_and_values( + app, self.config_variants, self.config_values) return app