Files
skill-template/scripts/service/amazon_report_adapter/__init__.py
chendelian 4a0be93b4a
All checks were successful
技能自动化发布 / release (push) Successful in 5s
chore: auto release commit (2026-07-03 12:09:55)
2026-07-03 12:09:55 +08:00

41 lines
1.4 KiB
Python

"""adapter 工厂:按 OPENCLAW_TEST_TARGET 选择实现。"""
from __future__ import annotations
import logging
from typing import Optional
from jiangchang_skill_core import config
from service.amazon_report_adapter.base import DownloadSettlementAdapterBase, DownloadSettlementResult
from service.amazon_report_adapter.mock import MockDownloadSettlementAdapter
from service.amazon_report_adapter.simulator_rpa import SimulatorRpaDownloadSettlementAdapter
logger = logging.getLogger(__name__)
__all__ = [
"get_adapter",
"DownloadSettlementAdapterBase",
"DownloadSettlementResult",
"MockDownloadSettlementAdapter",
"SimulatorRpaDownloadSettlementAdapter",
]
def get_adapter(*, artifacts_dir: Optional[str] = None) -> DownloadSettlementAdapterBase:
target = (config.get("OPENCLAW_TEST_TARGET") or "").strip().lower()
if target in ("mock", "unit"):
logger.info("target '%s': MockDownloadSettlementAdapter", target)
return MockDownloadSettlementAdapter()
if target == "real_rpa":
logger.warning("target real_rpa 未实现,回退 MockDownloadSettlementAdapter")
return MockDownloadSettlementAdapter()
if target and target != "simulator_rpa":
logger.warning("未知 target '%s',回退 simulator_rpa", target)
logger.info("target '%s': SimulatorRpaDownloadSettlementAdapter", target or "(unset=default)")
return SimulatorRpaDownloadSettlementAdapter(artifacts_dir=artifacts_dir)