Skip to content

Commit fd9b6ef

Browse files
Various performance improvements
1 parent a4206b1 commit fd9b6ef

30 files changed

+8533
-90
lines changed

Diff for: python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py

+4,415
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: python-avd/pyavd/_eos_designs/avdfacts.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def render(self) -> dict:
5959
If the value is not cached, it will be resolved by the attribute function first.
6060
Empty values are removed from the returned data.
6161
"""
62-
return {key: getattr(self, key) for key in self.keys() if getattr(self, key) is not None}
62+
return {key: value for key in self.keys() if (value := getattr(self, key)) is not None}
6363

6464
def clear_cache(self) -> None:
6565
for key in self.keys() + self.internal_keys():

Diff for: python-avd/pyavd/_eos_designs/eos_designs_facts/vlans.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def _local_endpoint_vlans_and_trunk_groups(self: EosDesignsFactsProtocol) -> tup
9090
for connected_endpoints_key in self.inputs._dynamic_keys.connected_endpoints:
9191
for connected_endpoint in connected_endpoints_key.value:
9292
for index, adapter in enumerate(connected_endpoint.adapters):
93-
adapter._context = f"{connected_endpoints_key.key}[name={connected_endpoint.name}].adapters[{index}]"
93+
adapter._internal_data.context = f"{connected_endpoints_key.key}[name={connected_endpoint.name}].adapters[{index}]"
9494
adapter_settings = self.shared_utils.get_merged_adapter_settings(adapter)
9595
if self.shared_utils.hostname not in adapter_settings.switches:
9696
# This switch is not connected to this endpoint. Skipping.
@@ -114,7 +114,7 @@ def _local_endpoint_vlans_and_trunk_groups(self: EosDesignsFactsProtocol) -> tup
114114
# Skip entry if no match
115115
continue
116116

117-
network_port_item._context = f"network_ports[{index}]"
117+
network_port_item._internal_data.context = f"network_ports[{index}]"
118118
adapter_settings = self.shared_utils.get_merged_adapter_settings(network_port_item)
119119
adapter_vlans, adapter_trunk_groups = self._parse_adapter_settings(adapter_settings)
120120
vlans.update(adapter_vlans)

Diff for: python-avd/pyavd/_eos_designs/eos_designs_facts/wan.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@ def wan_path_groups(self: EosDesignsFactsProtocol) -> list | None:
3333

3434
wan_path_groups = self.shared_utils.wan_local_path_groups._as_list()
3535
for wan_path_group in wan_path_groups:
36-
wan_path_group["_interfaces"] = self.shared_utils.wan_local_path_groups[wan_path_group["name"]]._interfaces
36+
wan_path_group["_interfaces"] = self.shared_utils.wan_local_path_groups[wan_path_group["name"]]._internal_data.interfaces
3737

3838
return wan_path_groups

0 commit comments

Comments
 (0)