from abc import ABC, abstractmethod from typing import Optional import numpy as np from loguru import logger from app.schemas.diagnosis import FaultCategory class DiagnotorBase(ABC): def __init__(self): self._result = FaultCategory() def target_check(self, target: float) -> None: if np.isnan(target): self._result.no_target = True class ThermalComfortDiagnotor(DiagnotorBase): pass class FCUDiagnotor(DiagnotorBase): def __init__(self): super(FCUDiagnotor, self).__init__() class VAVDiagnotor(DiagnotorBase): pass class VRFDiagnotor(DiagnotorBase): pass