Add YAPF style + ignore, and format tracked Python files

This commit is contained in:
2025-12-29 18:42:02 -08:00
parent c019c00aed
commit 507946a3e4
108 changed files with 11664 additions and 6494 deletions

View File

@@ -22,13 +22,13 @@ from SYS.logger import debug
from Store._base import Store as BaseStore
_SHA256_HEX_RE = re.compile(r"^[0-9a-fA-F]{64}$")
# Backends that failed to initialize earlier in the current process.
# Keyed by (store_type, instance_key) where instance_key is the name used under config.store.<type>.<instance_key>.
_FAILED_BACKEND_CACHE: Dict[tuple[str, str], str] = {}
_FAILED_BACKEND_CACHE: Dict[tuple[str,
str],
str] = {}
def _normalize_store_type(value: str) -> str:
@@ -57,10 +57,13 @@ def _discover_store_classes() -> Dict[str, Type[BaseStore]]:
"""
import Store as store_pkg
discovered: Dict[str, Type[BaseStore]] = {}
discovered: Dict[str,
Type[BaseStore]] = {}
for module_info in pkgutil.iter_modules(store_pkg.__path__):
module_name = module_info.name
if module_name in {"__init__", "_base", "registry"}:
if module_name in {"__init__",
"_base",
"registry"}:
continue
module = importlib.import_module(f"Store.{module_name}")
@@ -85,12 +88,15 @@ def _required_keys_for(store_cls: Type[BaseStore]) -> list[str]:
return [str(k) for k in keys]
if isinstance(keys, str):
return [keys]
raise TypeError(f"Unsupported __new__.keys type for {store_cls.__name__}: {type(keys)}")
raise TypeError(
f"Unsupported __new__.keys type for {store_cls.__name__}: {type(keys)}"
)
def _build_kwargs(
store_cls: Type[BaseStore], instance_name: str, instance_config: Any
) -> Dict[str, Any]:
def _build_kwargs(store_cls: Type[BaseStore],
instance_name: str,
instance_config: Any) -> Dict[str,
Any]:
if isinstance(instance_config, dict):
cfg_dict = dict(instance_config)
else:
@@ -99,13 +105,13 @@ def _build_kwargs(
required = _required_keys_for(store_cls)
# If NAME is required but not present, allow the instance key to provide it.
if (
any(_normalize_config_key(k) == "NAME" for k in required)
and _get_case_insensitive(cfg_dict, "NAME") is None
):
if (any(_normalize_config_key(k) == "NAME" for k in required)
and _get_case_insensitive(cfg_dict,
"NAME") is None):
cfg_dict["NAME"] = str(instance_name)
kwargs: Dict[str, Any] = {}
kwargs: Dict[str,
Any] = {}
missing: list[str] = []
for key in required:
value = _get_case_insensitive(cfg_dict, key)
@@ -115,23 +121,36 @@ def _build_kwargs(
kwargs[str(key)] = value
if missing:
raise ValueError(f"Missing required keys for {store_cls.__name__}: {', '.join(missing)}")
raise ValueError(
f"Missing required keys for {store_cls.__name__}: {', '.join(missing)}"
)
return kwargs
class Store:
def __init__(
self, config: Optional[Dict[str, Any]] = None, suppress_debug: bool = False
self,
config: Optional[Dict[str,
Any]] = None,
suppress_debug: bool = False
) -> None:
self._config = config or {}
self._suppress_debug = suppress_debug
self._backends: Dict[str, BaseStore] = {}
self._backend_errors: Dict[str, str] = {}
self._backends: Dict[str,
BaseStore] = {}
self._backend_errors: Dict[str,
str] = {}
self._load_backends()
def _maybe_register_temp_alias(
self, store_type: str, backend_name: str, kwargs: Dict[str, Any], backend: BaseStore
self,
store_type: str,
backend_name: str,
kwargs: Dict[str,
Any],
backend: BaseStore
) -> None:
"""If a folder backend points at config['temp'], also expose it as the 'temp' backend.
@@ -189,16 +208,24 @@ class Store:
if cached_error:
self._backend_errors[str(instance_name)] = str(cached_error)
if isinstance(instance_config, dict):
override_name = _get_case_insensitive(dict(instance_config), "NAME")
override_name = _get_case_insensitive(
dict(instance_config),
"NAME"
)
if override_name:
self._backend_errors[str(override_name)] = str(cached_error)
continue
try:
kwargs = _build_kwargs(store_cls, str(instance_name), instance_config)
kwargs = _build_kwargs(
store_cls,
str(instance_name),
instance_config
)
# Convenience normalization for filesystem-like paths.
for key in list(kwargs.keys()):
if _normalize_config_key(key) in {"PATH", "LOCATION"}:
if _normalize_config_key(key) in {"PATH",
"LOCATION"}:
kwargs[key] = str(Path(str(kwargs[key])).expanduser())
backend = store_cls(**kwargs)
@@ -207,7 +234,12 @@ class Store:
self._backends[backend_name] = backend
# If this is the configured temp directory, also alias it as 'temp'.
self._maybe_register_temp_alias(store_type, backend_name, kwargs, backend)
self._maybe_register_temp_alias(
store_type,
backend_name,
kwargs,
backend
)
except Exception as exc:
err_text = str(exc)
self._backend_errors[str(instance_name)] = err_text
@@ -233,7 +265,8 @@ class Store:
return 2
return 1
chosen: Dict[int, str] = {}
chosen: Dict[int,
str] = {}
for name, backend in self._backends.items():
if type(backend).search is BaseStore.search:
continue