From 0e6bc76f22c47a06411e57c81b6152415df33cb1 Mon Sep 17 00:00:00 2001 From: Pan Teparak <16161996+panteparak@users.noreply.github.com> Date: Wed, 22 Mar 2023 13:24:15 +0000 Subject: [PATCH] feat: warn user on default variable usage --- environ/environ.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/environ/environ.py b/environ/environ.py index 9ca00a8e..751a86a2 100644 --- a/environ/environ.py +++ b/environ/environ.py @@ -187,6 +187,7 @@ class Env: "simple": "haystack.backends.simple_backend.SimpleEngine", } CLOUDSQL = 'cloudsql' + _WARN_ON_DEFAULT_VALUE_USAGE = False def __init__(self, **scheme): self.smart_cast = True @@ -213,6 +214,8 @@ def str(self, var, default=NOTSET, multiline=False): if multiline: return re.sub(r'(\\r)?\\n', r'\n', value) return value + def warn_on_default_value_usage(self, enabled: bool = True): + self._WARN_ON_DEFAULT_VALUE_USAGE = enabled def bytes(self, var, default=NOTSET, encoding='utf8'): """ @@ -391,6 +394,8 @@ def get_value(self, var, cast=None, default=NOTSET, parse_default=False): raise ImproperlyConfigured(error_msg) from exc value = default + if self._WARN_ON_DEFAULT_VALUE_USAGE: + logger.warn(f"Variable '{var}' is using a default variable.") # Resolve any proxied values prefix = b'$' if isinstance(value, bytes) else '$'