def __getitem__(self, key: str) -> Any: if key not in self._data: raise NoConfigError(key) env_var = self._config_map[key].env_var if env_var is not None and env_var in os.environ: return os.environ[env_var] return self._data[key]
def __getitem__(self, key: str) -> Any: if key not in self._config_map and key not in self.deprecated: raise NoConfigError(key) config_key = self.deprecated.get(key, key) config = self._config_map[config_key] env_var = config.env_var if env_var is not None and env_var in os.environ: result = os.environ[env_var] else: if config_key in self._data: result = self._data[config_key] elif config.replace: result = self._data[config.replace] else: raise NoConfigError(key) from None return config.coerce(result)
def __setitem__(self, key: str, value: Any) -> None: if key not in self._config_map and key not in self.deprecated: raise NoConfigError(key) config_key = self.deprecated.get(key, key) config = self._config_map[config_key] if not self.is_global and config.global_only: raise ValueError( f"Config item '{key}' is not allowed to set in project config." ) value = config.coerce(value) env_var = config.env_var if env_var is not None and env_var in os.environ: click.echo( termui.yellow( "WARNING: the config is shadowed by env var '{}', " "the value set won't take effect.".format(env_var) ) ) self._data[config_key] = value self._file_data[config_key] = value if config.replace: self._data.pop(config.replace, None) self._file_data.pop(config.replace, None) self._save_config()
def __getitem__(self, key: str) -> Any: if key not in self._data: raise NoConfigError(key) env_var = self._config_map[key].env_var if env_var is not None and env_var in os.environ: env_value = os.environ[env_var] if isinstance(self._config_map[key].default, bool): env_value = ensure_boolean(env_value) return env_value return self._data[key]
def __getitem__(self, key: str) -> Any: env_var = self._config_map[key].env_var if env_var is not None and env_var in os.environ: result = os.environ[env_var] else: try: result = self._data[key] except KeyError: raise NoConfigError(key) from None return self._config_map[key].coerce(result)
def __setitem__(self, key: str, value: Any) -> None: if key not in self.CONFIG_ITEMS: raise NoConfigError(key) if isinstance(value, str): if value.lower() == "false": value = False elif value.lower() == "true": value = True self._dirty[key] = value self._data[key] = value
def __setitem__(self, key: str, value: Any) -> None: if key not in self._config_map: raise NoConfigError(key) if not self.is_global and self._config_map[key].global_only: raise ValueError( f"Config item '{key}' is not allowed to set in project config." ) value = self._config_map[key].coerce(value) env_var = self._config_map[key].env_var if env_var is not None and env_var in os.environ: click.echo( termui.yellow( "WARNING: the config is shadowed by env var '{}', " "the value set won't take effect.".format(env_var))) self._data[key] = value self._file_data[key] = value self._save_config()
def __setitem__(self, key: str, value: Any) -> None: if key not in self._config_map: raise NoConfigError(key) if not self.is_global and self._config_map[key].global_only: raise ValueError( f"Config item '{key}' is not allowed to set in project config." ) if isinstance(value, str): if value.lower() == "false": value = False elif value.lower() == "true": value = True env_var = self._config_map[key].env_var if env_var is not None and env_var in os.environ: stream.echo( stream.yellow( "WARNING: the config is shadowed by env var '{}', " "set value won't take effect.".format(env_var))) self._data[key] = value self._file_data[key] = value self._save_config()
def __getitem__(self, key: str) -> Any: try: return self._data[key] except KeyError: raise NoConfigError(key) from None
def __setitem__(self, key: str, value: Any) -> None: if key not in self.DEFAULT_CONFIG: raise NoConfigError(key) self._dirty[key] = value self._data[key] = value