Central registry for all data source processors.
Uses a class decorator pattern to automatically register processors
when they are defined.
| Attributes: |
-
_processors
(dict[str, Type[BaseProcessor]])
–
Mapping of source names to processor classes
|
Register a processor class.
Used as a class decorator::
@ProcessorRegistry.register
class MyProcessor(BaseProcessor):
...
| Parameters: |
-
processor_class
(Type[BaseProcessor])
–
Processor class to register
|
| Raises: |
-
ValueError
–
If processor with same source_name already registered
|
Get a processor instance by source name.
Get a processor class (not instance) by source name.
Get list of all registered processor source names.
| Returns: |
-
list[str]
–
List of registered source names
|
Get all registered processor classes.
| Returns: |
-
dict[str, Type[BaseProcessor]]
–
Mapping of source names to classes
|
Check if a processor is registered.
| Returns: |
-
bool
–
True if processor is registered
|
Unregister a processor (mainly for testing).
| Parameters: |
-
source_name
(str)
–
Name of the data source to unregister
|
Clear all registered processors (mainly for testing).
Get information about a registered processor.
| Returns: |
-
dict[str, str]
–
Dictionary with processor information
|
Get information about all registered processors.
| Returns: |
-
dict[str, dict[str, str]]
–
Mapping of source names to info dicts
|