Source code for jsonschema_diff.core.parameter_combined

from typing import TYPE_CHECKING, Any, Dict

from .abstraction import Statuses, ToCompare
from .parameter_base import Compare

if TYPE_CHECKING:
    from .parameter_base import LEGEND_RETURN_TYPE


[docs] class CompareCombined(Compare): def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs)
[docs] self.dict_compare: Dict[str, ToCompare] = {}
[docs] self.dict_values: Dict[str, Any] = {}
[docs] def compare(self) -> Statuses: for c in self.to_compare: if self.status == Statuses.UNKNOWN: self.status = c.status elif self.status != c.status: self.status = Statuses.REPLACED self.dict_compare[c.key] = c self.dict_values[c.key] = c.value return self.status
[docs] def get_name(self) -> str: raise NotImplementedError("CompareCombined.get_name должен быть переопределен")
[docs] def render(self, tab_level: int = 0, with_path: bool = True) -> str: raise NotImplementedError("CompareCombined.render должен быть переопределен")
@staticmethod
[docs] def legend() -> "LEGEND_RETURN_TYPE": raise NotImplementedError("CompareCombined.legend должен быть переопределен")