chore: initialize insar management system v2
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""Registry for D-InSAR engine instances."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Dict, List, Optional
|
||||
|
||||
from .base import DinsarEngine
|
||||
|
||||
_registry: Dict[str, DinsarEngine] = {}
|
||||
|
||||
|
||||
def register(engine: DinsarEngine) -> None:
|
||||
"""Registers or replaces an engine instance."""
|
||||
|
||||
_registry[engine.engine_code] = engine
|
||||
|
||||
|
||||
def get_engine(engine_code: str) -> Optional[DinsarEngine]:
|
||||
"""Returns a registered engine instance by code."""
|
||||
|
||||
return _registry.get(engine_code)
|
||||
|
||||
|
||||
def list_engines() -> List[DinsarEngine]:
|
||||
"""Returns all registered engines in registration order."""
|
||||
|
||||
return list(_registry.values())
|
||||
|
||||
|
||||
def _bootstrap() -> None:
|
||||
"""Imports and registers all built-in engines."""
|
||||
|
||||
from .isce2_engine import Isce2Engine
|
||||
from .landsar_engine import LandsarEngine
|
||||
from .sarscape_engine import SarscapeEngine
|
||||
|
||||
for engine in (SarscapeEngine(), Isce2Engine(), LandsarEngine()):
|
||||
register(engine)
|
||||
|
||||
|
||||
_bootstrap()
|
||||
Reference in New Issue
Block a user