Tomtom84's picture
Update engines/__init__.py
7ea987a verified
raw
history blame
1.09 kB
from RealtimeTTS.base_engine import BaseEngine, TimingInfo
from .orpheus_engine import OrpheusEngine
__all__ = [
"BaseEngine", "TimingInfo",
"SystemEngine", "SystemVoice",
"OrpheusEngine", "OrpheusVoice",
]
# Lazy loader functions for the engines in this subpackage.
def _load_system_engine():
from .system_engine import SystemEngine, SystemVoice
globals()["SystemEngine"] = SystemEngine
globals()["SystemVoice"] = SystemVoice
return SystemEngine
def _load_orpheus_engine():
from .orpheus_engine import OrpheusEngine, OrpheusVoice
globals()["OrpheusEngine"] = OrpheusEngine
globals()["OrpheusVoice"] = OrpheusVoice
return OrpheusEngine
# Map attribute names to lazy loader functions.
_lazy_imports = {
"SystemEngine": _load_system_engine,
"SystemVoice": _load_system_engine,
"OrpheusEngine": _load_orpheus_engine,
"OrpheusVoice": _load_orpheus_engine,
}
def __getattr__(name):
if name in _lazy_imports:
return _lazy_imports[name]()
raise AttributeError(f"module {__name__} has no attribute {name}")