From bbf18c63ee61b0c5678ac952ce7b9eff25103897 Mon Sep 17 00:00:00 2001 From: Jeremy Schulman Date: Thu, 17 Aug 2023 09:28:40 -0400 Subject: [PATCH] bug fix sorting --- netcad/topology/checks/check_device_info.py | 11 ++++++----- netcad/topology/checks/check_ipaddrs.py | 2 +- pyproject.toml | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/netcad/topology/checks/check_device_info.py b/netcad/topology/checks/check_device_info.py index 6de2131..84b871d 100644 --- a/netcad/topology/checks/check_device_info.py +++ b/netcad/topology/checks/check_device_info.py @@ -82,10 +82,11 @@ class DeviceInterfaceInfo(BaseModel): def _interfaces_as_dict(device: Device) -> dict: as_dict = dict() - for if_name, iface in device.interfaces.items(): + for iface in sorted(device.interfaces.values()): + iface = device.interfaces[iface.name] if not iface.used: - as_dict[if_name] = DeviceInterfaceInfo( - used=False, name=if_name, enabled=iface.enabled, desc=iface.desc + as_dict[iface.name] = DeviceInterfaceInfo( + used=False, name=iface.name, enabled=iface.enabled, desc=iface.desc ) continue @@ -99,9 +100,9 @@ def _interfaces_as_dict(device: Device) -> dict: flags = if_prof.profile_flags - as_dict[if_name] = DeviceInterfaceInfo( + as_dict[iface.name] = DeviceInterfaceInfo( used=True, - name=if_name, + name=iface.name, enabled=iface.enabled, desc=iface.desc, port_type=port_type, diff --git a/netcad/topology/checks/check_ipaddrs.py b/netcad/topology/checks/check_ipaddrs.py index b47ec56..08bd01a 100644 --- a/netcad/topology/checks/check_ipaddrs.py +++ b/netcad/topology/checks/check_ipaddrs.py @@ -105,7 +105,7 @@ class IPInterfacesCheckCollection(CheckCollection): def build(cls, device: Device, **kwargs) -> Optional["IPInterfacesCheckCollection"]: if_l3_list = [ iface - for iface in device.interfaces.used().values() + for iface in sorted(device.interfaces.used().values()) if isinstance(iface.profile, InterfaceL3) and (iface.profile.if_ipaddr or iface.profile.is_reserved) ] diff --git a/pyproject.toml b/pyproject.toml index 1a1b68e..b09458e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "netcad" - version = "0.10.0" + version = "0.10.1" description = "NetCAD/CAM - Network Automation by Design" authors = ["Jeremy Schulman"] readme = "README.md"