Skip to content

Commit 8cb60be

Browse files
committed
Cleanup ignored type annotations
1 parent 2bb8bec commit 8cb60be

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

infrahub_sdk/node.py

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,7 +1065,7 @@ def _init_relationships(self, data: Optional[dict] = None) -> None:
10651065
setattr(
10661066
self.__class__,
10671067
rel_name,
1068-
generate_relationship_property(name=rel_name, node=self, node_class=RelatedNode), # type: ignore[arg-type]
1068+
generate_relationship_property(name=rel_name, node=self),
10691069
)
10701070
setattr(self, rel_name, rel_data)
10711071
else:
@@ -1542,7 +1542,7 @@ def _init_relationships(self, data: Optional[dict] = None) -> None:
15421542
setattr(
15431543
self.__class__,
15441544
rel_name,
1545-
generate_relationship_property(name=rel_name, node=self, node_class=RelatedNodeSync), # type: ignore[arg-type]
1545+
generate_relationship_property(name=rel_name, node=self),
15461546
)
15471547
setattr(self, rel_name, rel_data)
15481548
else:
@@ -1993,13 +1993,12 @@ def _generate_input_data(self) -> Union[str, None]:
19931993
return self.id
19941994

19951995

1996-
def generate_relationship_property(node: Union[InfrahubNode, InfrahubNodeSync], name: str, node_class): # type: ignore
1996+
def generate_relationship_property(node: Union[InfrahubNode, InfrahubNodeSync], name: str) -> property:
19971997
"""Generates a property that stores values under a private non-public name.
19981998
19991999
Args:
20002000
node (Union[InfrahubNode, InfrahubNodeSync]): The node instance.
20012001
name (str): The name of the relationship property.
2002-
node_class: The class of the node.
20032002
20042003
Returns:
20052004
A property object for managing the relationship.
@@ -2008,20 +2007,29 @@ def generate_relationship_property(node: Union[InfrahubNode, InfrahubNodeSync],
20082007
internal_name = "_" + name.lower()
20092008
external_name = name
20102009

2011-
@property # type: ignore
2012-
def prop(self): # type: ignore
2010+
def prop_getter(self: InfrahubNodeBase) -> Any:
20132011
return getattr(self, internal_name)
20142012

2015-
@prop.setter
2016-
def prop(self, value): # type: ignore
2013+
def prop_setter(self: InfrahubNodeBase, value: Any) -> None:
20172014
if isinstance(value, RelatedNodeBase) or value is None:
20182015
setattr(self, internal_name, value)
20192016
else:
20202017
schema = [rel for rel in self._schema.relationships if rel.name == external_name][0]
2021-
setattr(
2022-
self,
2023-
internal_name,
2024-
node_class(name=external_name, branch=node._branch, client=node._client, schema=schema, data=value),
2025-
)
2018+
if isinstance(node, InfrahubNode):
2019+
setattr(
2020+
self,
2021+
internal_name,
2022+
RelatedNode(
2023+
name=external_name, branch=node._branch, client=node._client, schema=schema, data=value
2024+
),
2025+
)
2026+
else:
2027+
setattr(
2028+
self,
2029+
internal_name,
2030+
RelatedNodeSync(
2031+
name=external_name, branch=node._branch, client=node._client, schema=schema, data=value
2032+
),
2033+
)
20262034

2027-
return prop
2035+
return property(prop_getter, prop_setter)

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,6 @@ max-complexity = 17
312312
##################################################################################################
313313
# Review and change the below later #
314314
##################################################################################################
315-
"ANN001", # Missing type annotation for function argument
316315
"ANN201", # ANN201 Missing return type annotation for public function
317316
"ANN202", # Missing return type annotation for private function
318317
"ANN204", # Missing return type annotation for special method

0 commit comments

Comments
 (0)