Skip to content

Commit

Permalink
Merge pull request #197 from andlaus/minor_fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
andlaus authored Sep 5, 2023
2 parents d58a298 + c28a4d6 commit ca4a522
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 9 deletions.
1 change: 1 addition & 0 deletions odxtools/dtcdop.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ def _resolve_odxlinks(self, odxlinks: OdxLinkDatabase):
self._dtcs = NamedItemList[DiagnosticTroubleCode]()
for dtc_proxy in self.dtcs_raw:
if isinstance(dtc_proxy, DiagnosticTroubleCode):
dtc_proxy._resolve_odxlinks(odxlinks)
self._dtcs.append(dtc_proxy)
elif isinstance(dtc_proxy, OdxLinkRef):
dtc = odxlinks.resolve(dtc_proxy, DiagnosticTroubleCode)
Expand Down
13 changes: 10 additions & 3 deletions odxtools/inputparam.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
from typing import TYPE_CHECKING, Any, Dict, List, Optional
from xml.etree import ElementTree

from deprecation import deprecated

from .dopbase import DopBase
from .element import NamedElement
from .exceptions import odxrequire
Expand Down Expand Up @@ -40,12 +42,17 @@ def _build_odxlinks(self) -> Dict[OdxLinkId, Any]:
return {}

def _resolve_odxlinks(self, odxlinks: OdxLinkDatabase) -> None:
self._dop = odxlinks.resolve(self.dop_base_ref, DopBase)
self._dop_base = odxlinks.resolve(self.dop_base_ref, DopBase)

def _resolve_snrefs(self, diag_layer: "DiagLayer") -> None:
pass

@property
def dop(self) -> DopBase:
def dop_base(self) -> DopBase:
"""The data object property describing this parameter."""
return self._dop
return self._dop_base

@property
@deprecated(details="use .dop_base")
def dop(self) -> DopBase:
return self._dop_base
16 changes: 10 additions & 6 deletions odxtools/outputparam.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
from typing import TYPE_CHECKING, Any, Dict, List, Optional
from xml.etree import ElementTree

from deprecation import deprecated

from .dopbase import DopBase
from .element import IdentifiableElement
from .exceptions import odxrequire
Expand All @@ -19,9 +21,6 @@ class OutputParam(IdentifiableElement):
oid: Optional[str]
semantic: Optional[str]

def __post_init__(self) -> None:
self._dop: Optional[DopBase] = None

@staticmethod
def from_et(et_element: ElementTree.Element, doc_frags: List[OdxDocFragment]) -> "OutputParam":

Expand All @@ -36,12 +35,17 @@ def _build_odxlinks(self) -> Dict[OdxLinkId, Any]:
return {}

def _resolve_odxlinks(self, odxlinks: OdxLinkDatabase) -> None:
self._dop = odxlinks.resolve(self.dop_base_ref)
self._dop_base = odxlinks.resolve(self.dop_base_ref)

def _resolve_snrefs(self, diag_layer: "DiagLayer") -> None:
pass

@property
def dop(self) -> Optional[DopBase]:
def dop_base(self) -> DopBase:
"""The data object property describing this parameter."""
return self._dop
return self._dop_base

@property
@deprecated(details="use .dop_base")
def dop(self) -> DopBase:
return self._dop_base
1 change: 1 addition & 0 deletions odxtools/parameters/parameterwithdop.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ class ParameterWithDOP(Parameter):
def __post_init__(self) -> None:
odxassert(self.dop_snref is not None or self.dop_ref is not None,
f"Param {self.short_name} without a DOP-(SN)REF should not exist!")
self._dop: Optional[DopBase] = None

def _build_odxlinks(self) -> Dict[OdxLinkId, Any]:
return super()._build_odxlinks()
Expand Down

0 comments on commit ca4a522

Please sign in to comment.