Files
Medios-Macina/plugins/playwright/__init__.py
T
2026-05-26 15:32:01 -07:00

36 lines
1.0 KiB
Python

"""Playwright support module under the plugin namespace.
This package provides shared browser automation defaults/helpers for cmdlets and
plugins. It is intentionally lightweight at import time so plugin discovery can
import `plugins.playwright` even when Playwright itself is not installed.
"""
from __future__ import annotations
__all__ = [
"PlaywrightTimeoutError",
"PlaywrightTool",
"PlaywrightDefaults",
"PlaywrightDownloadResult",
"config_schema",
]
_MODULE_ATTRS = {
"PlaywrightTimeoutError": ".runtime",
"PlaywrightTool": ".runtime",
"PlaywrightDefaults": ".runtime",
"PlaywrightDownloadResult": ".runtime",
"config_schema": ".runtime",
}
def __getattr__(name: str) -> object:
submod = _MODULE_ATTRS.get(name)
if submod is None:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
from importlib import import_module
mod = import_module(submod, package=__name__)
obj = getattr(mod, name)
globals()[name] = obj
return obj