Tiny avoid EnvField misuse (#15612)
This commit is contained in:
@@ -7,6 +7,8 @@ from typing import Any
|
||||
|
||||
|
||||
class EnvField:
|
||||
_allow_set_name = True
|
||||
|
||||
def __init__(self, default: Any):
|
||||
self.default = default
|
||||
# NOTE: we use None to indicate whether the value is set or not
|
||||
@@ -15,6 +17,7 @@ class EnvField:
|
||||
self._set_to_none = False
|
||||
|
||||
def __set_name__(self, owner, name):
|
||||
assert EnvField._allow_set_name, "Usage like `a = envs.A` is not allowed"
|
||||
self.name = name
|
||||
|
||||
def parse(self, value: str) -> Any:
|
||||
@@ -379,6 +382,7 @@ class Envs:
|
||||
|
||||
|
||||
envs = Envs()
|
||||
EnvField._allow_set_name = False
|
||||
|
||||
|
||||
def _print_deprecated_env(new_name: str, old_name: str):
|
||||
|
||||
Reference in New Issue
Block a user