Show More
@@ -18,6 +18,7 b'' | |||||
18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
|
21 | import os | |||
21 | import logging |
|
22 | import logging | |
22 | import traceback |
|
23 | import traceback | |
23 | import collections |
|
24 | import collections | |
@@ -71,6 +72,15 b' def make_pyramid_app(global_config, **se' | |||||
71 | cases when these fragments are assembled from another place. |
|
72 | cases when these fragments are assembled from another place. | |
72 |
|
73 | |||
73 | """ |
|
74 | """ | |
|
75 | ||||
|
76 | # Allows to use format style "{ENV_NAME}" placeholders in the configuration. It | |||
|
77 | # will be replaced by the value of the environment variable "NAME" in this case. | |||
|
78 | environ = { | |||
|
79 | 'ENV_{}'.format(key): value for key, value in os.environ.items()} | |||
|
80 | ||||
|
81 | global_config = _substitute_values(global_config, environ) | |||
|
82 | settings = _substitute_values(settings, environ) | |||
|
83 | ||||
74 | sanitize_settings_and_apply_defaults(settings) |
|
84 | sanitize_settings_and_apply_defaults(settings) | |
75 |
|
85 | |||
76 | config = Configurator(settings=settings) |
|
86 | config = Configurator(settings=settings) | |
@@ -438,3 +448,13 b' def _string_setting(settings, name, defa' | |||||
438 | if lower: |
|
448 | if lower: | |
439 | value = value.lower() |
|
449 | value = value.lower() | |
440 | settings[name] = value |
|
450 | settings[name] = value | |
|
451 | ||||
|
452 | ||||
|
453 | def _substitute_values(mapping, substitutions): | |||
|
454 | result = { | |||
|
455 | # Note: Cannot use regular replacements, since they would clash | |||
|
456 | # with the implementation of ConfigParser. Using "format" instead. | |||
|
457 | key: value.format(**substitutions) | |||
|
458 | for key, value in mapping.items() | |||
|
459 | } | |||
|
460 | return result |
General Comments 0
You need to be logged in to leave comments.
Login now