Version: 0.0.5 (stable)
agrag.loaders.loader_registry.LoaderRegistry
LoaderRegistry() -> None
Maps each source extension to the one loader that reads it.
A new registry starts empty and rejects every format until loaders are
registered. Use agrag.loaders.registry, which already holds the default
loaders, to read sources with the defaults.
Attributes:
- _by_extension (
dict[str, Loader]) – The loader for each registered extension.
Functions:
- for_source – Return the loader for a source's extension.
- register – Add a loader for each extension it claims.
for_source
for_source(source:SourceRef) -> Loader
Return the loader for a source's extension.
Parameters:
- source (
SourceRef) – The source to find a loader for.
Returns:
Loader– The loader registered for the source's extension.
Raises:
UnsupportedFormatError– No loader claims the source's extension.MissingExtraError– The loader needs a package extra that is not installed.
register
register(loader:Loader) -> None
Add a loader for each extension it claims.
Registering a loader of a type that already holds an extension is a no-op,
so calling register_default_loaders twice is safe.
Parameters:
- loader (
Loader) – The loader to register.
Raises:
ValueError– Another loader type already holds one of the extensions.