File size: 769 Bytes
7f73993
bbb4c3b
9c63f16
 
 
 
 
 
 
 
7ea987a
9c63f16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from RealtimeTTS.engines import BaseEngine, TimingInfo  
from .orpheus_engine import OrpheusEngine

__all__ = [
    "BaseEngine", "TimingInfo",
    "OrpheusEngine", "OrpheusVoice",
]


# Lazy loader functions for the engines in this subpackage.


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 = {
    "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}")