zcbot/core/external_systems/factory.py

30 lines
890 B
Python

"""Factory MES 兼容入口。
新代码使用 :mod:`core.external_systems.openapi`;保留原类名,避免已有测试和内部引用
在通用化过程中发生无意义破坏。
"""
from __future__ import annotations
from typing import Any
from .openapi import OpenApiClient, OpenApiConfig, OpenApiError
from .registry import merged_config
FactoryMesError = OpenApiError
class FactoryMesConfig(OpenApiConfig):
@classmethod
def from_mapping(cls, data: dict[str, Any]) -> "FactoryMesConfig":
common = OpenApiConfig.from_mapping(merged_config("factory_mes", data))
return cls(**common.__dict__)
class FactoryMesClient(OpenApiClient):
def __init__(self, username: str, password: str, cfg: FactoryMesConfig):
self.username = username
self.password = password
super().__init__({"username": username, "password": password}, cfg)