unifi-network-maps 1.4.14__tar.gz → 1.4.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/CHANGELOG.md +7 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/PKG-INFO +1 -1
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/pyproject.toml +1 -1
- unifi_network_maps-1.4.15/src/unifi_network_maps/__init__.py +1 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/adapters/unifi.py +3 -5
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/topology.py +21 -1
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/PKG-INFO +1 -1
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_topology.py +46 -0
- unifi_network_maps-1.4.14/src/unifi_network_maps/__init__.py +0 -1
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/CONTRIBUTING.md +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/LICENSE +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/LICENSES.md +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/MANIFEST.in +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/README.md +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/RELEASING.md +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/SECURITY.md +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/setup.cfg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/__main__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/adapters/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/adapters/config.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/access-point.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/ISOPACKS_LICENSE +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/block.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/cache.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/cardterminal.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/cloud.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/cronjob.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/cube.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/desktop.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/diamond.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/dns.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/document.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/firewall.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/function-module.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/image.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/laptop.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/loadbalancer.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/lock.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/mail.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/mailmultiple.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/mobiledevice.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/office.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/package-module.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/paymentcard.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/plane.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/printer.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/pyramid.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/queue.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/router.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/server.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/speech.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/sphere.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/storage.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/switch-module.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/tower.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/truck-2.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/truck.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/user.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/isometric/vm.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/laptop.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/router-network.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/server-network.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/icons/server.svg +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/themes/dark.yaml +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/themes/default.yaml +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/__main__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/args.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/main.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/render.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/runtime.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/debug.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/export.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/mkdocs_assets.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/mock_data.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/mock_generate.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/paths.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/labels.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/lldp.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/mock.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/ports.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/vlans.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/__init__.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/device_ports_md.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/legend.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/lldp_md.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/markdown_tables.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/mermaid.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/mermaid_theme.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/mkdocs.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/svg.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/svg_theme.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/device_port_block.md.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/legend_compact.html.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/lldp_device_section.md.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/markdown_section.md.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mermaid_legend.mmd.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mkdocs_document.md.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mkdocs_dual_theme_style.html.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mkdocs_html_block.html.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mkdocs_legend.css.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mkdocs_legend.js.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templates/mkdocs_mermaid_block.md.j2 +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templating.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/theme.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/SOURCES.txt +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/dependency_links.txt +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/entry_points.txt +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/requires.txt +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/top_level.txt +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_cli.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_clients.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_config.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_contract_unifi.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_contract_unifi_live.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_debug.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_device_ports_md.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_export.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_groups.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_labels.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_lldp.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_lldp_md.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_mermaid.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_mkdocs.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_mock_generate.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_svg.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_svg_iso.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_theme.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_unifi.py +0 -0
- {unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/tests/test_vlan_info.py +0 -0
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.4.15] - 2026-02-01
|
|
9
|
+
### Changed
|
|
10
|
+
- Displaying of friendly device/model names
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Handle disabled WAN interfaces gracefully (avoid unifi-controller-api model parse errors)
|
|
14
|
+
|
|
8
15
|
## [1.4.14] - 2026-02-01
|
|
9
16
|
### Added
|
|
10
17
|
- JSON output with VLAN inventory
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.4.15"
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/adapters/unifi.py
RENAMED
|
@@ -513,11 +513,9 @@ def fetch_networks(
|
|
|
513
513
|
controller = _init_controller(config, is_udm_pro=False)
|
|
514
514
|
|
|
515
515
|
def _fetch() -> Sequence[object]:
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
logger.warning("Networkconf model parse failed; retrying raw fetch: %s", exc)
|
|
520
|
-
return controller.get_unifi_site_networkconf(site_name=site_name, raw=True)
|
|
516
|
+
# Always use raw=True to avoid model parsing issues with disabled WAN interfaces
|
|
517
|
+
# (the UnifiNetworkConf model requires an 'enabled' field that may be absent)
|
|
518
|
+
return controller.get_unifi_site_networkconf(site_name=site_name, raw=True)
|
|
521
519
|
|
|
522
520
|
try:
|
|
523
521
|
networks = _call_with_retries("network fetch", _fetch)
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/topology.py
RENAMED
|
@@ -302,9 +302,29 @@ def _uplink_info(device: DeviceSource) -> tuple[UplinkInfo | None, UplinkInfo |
|
|
|
302
302
|
return uplink, last_uplink
|
|
303
303
|
|
|
304
304
|
|
|
305
|
+
def _get_model_display_name(device: DeviceSource) -> str | None:
|
|
306
|
+
"""Extract the human-readable model name from device data.
|
|
307
|
+
|
|
308
|
+
UniFi stores the friendly model name (e.g., 'USW Flex 2.5G 8 PoE') in various
|
|
309
|
+
fields depending on controller version. This function checks multiple candidates
|
|
310
|
+
and returns the first non-empty value found.
|
|
311
|
+
"""
|
|
312
|
+
candidates = (
|
|
313
|
+
"model_in_lts",
|
|
314
|
+
"model_in_eol",
|
|
315
|
+
"shortname",
|
|
316
|
+
"model_name",
|
|
317
|
+
)
|
|
318
|
+
for key in candidates:
|
|
319
|
+
value = _get_attr(device, key)
|
|
320
|
+
if isinstance(value, str) and value.strip():
|
|
321
|
+
return value.strip()
|
|
322
|
+
return None
|
|
323
|
+
|
|
324
|
+
|
|
305
325
|
def coerce_device(device: DeviceSource) -> Device:
|
|
306
326
|
name = _get_attr(device, "name")
|
|
307
|
-
model_name =
|
|
327
|
+
model_name = _get_model_display_name(device) or _get_attr(device, "model")
|
|
308
328
|
model = _get_attr(device, "model")
|
|
309
329
|
mac = _get_attr(device, "mac")
|
|
310
330
|
ip = _get_attr(device, "ip") or _get_attr(device, "ip_address")
|
|
@@ -20,6 +20,7 @@ from unifi_network_maps.model.topology import (
|
|
|
20
20
|
_client_unifi_flag,
|
|
21
21
|
_client_uplink_mac,
|
|
22
22
|
_client_uplink_port,
|
|
23
|
+
_get_model_display_name,
|
|
23
24
|
_parse_uplink,
|
|
24
25
|
_poe_ports_from_device,
|
|
25
26
|
_port_speed_by_idx,
|
|
@@ -735,3 +736,48 @@ def test_port_speed_by_idx_reads_speed():
|
|
|
735
736
|
def test_classify_device_type_from_name():
|
|
736
737
|
device = SimpleNamespace(type="", name="Gateway Main")
|
|
737
738
|
assert classify_device_type(device) == "gateway"
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
def test_get_model_display_name_prefers_model_in_lts():
|
|
742
|
+
device = SimpleNamespace(
|
|
743
|
+
model_in_lts="USW Flex 2.5G 8 PoE",
|
|
744
|
+
model_name="USW-Flex-2.5G-8-PoE",
|
|
745
|
+
model="USWFLEXPOE8",
|
|
746
|
+
)
|
|
747
|
+
assert _get_model_display_name(device) == "USW Flex 2.5G 8 PoE"
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
def test_get_model_display_name_uses_model_in_eol():
|
|
751
|
+
device = SimpleNamespace(model_in_eol="USW Pro 24", model="USWPRO24")
|
|
752
|
+
assert _get_model_display_name(device) == "USW Pro 24"
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
def test_get_model_display_name_uses_shortname():
|
|
756
|
+
device = SimpleNamespace(shortname="USW Mini", model="USWMINI")
|
|
757
|
+
assert _get_model_display_name(device) == "USW Mini"
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
def test_get_model_display_name_falls_back_to_model_name():
|
|
761
|
+
device = SimpleNamespace(model_name="Dream Machine", model="UDM")
|
|
762
|
+
assert _get_model_display_name(device) == "Dream Machine"
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
def test_get_model_display_name_returns_none_without_candidates():
|
|
766
|
+
device = SimpleNamespace(model="USWFLEX")
|
|
767
|
+
assert _get_model_display_name(device) is None
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
def test_coerce_device_uses_model_in_lts_for_model_name():
|
|
771
|
+
device = SimpleNamespace(
|
|
772
|
+
name="Switch",
|
|
773
|
+
mac="aa:bb:cc:dd:ee:ff",
|
|
774
|
+
model_in_lts="USW Flex 2.5G 8 PoE",
|
|
775
|
+
model="USWFLEXPOE8",
|
|
776
|
+
ip="",
|
|
777
|
+
type="usw",
|
|
778
|
+
lldp_info=[],
|
|
779
|
+
port_table=[],
|
|
780
|
+
)
|
|
781
|
+
result = coerce_device(device)
|
|
782
|
+
assert result.model_name == "USW Flex 2.5G 8 PoE"
|
|
783
|
+
assert result.model == "USWFLEXPOE8"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.4.14"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/adapters/__init__.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/adapters/config.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/assets/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/__init__.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/render.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/cli/runtime.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/mkdocs_assets.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/mock_data.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/io/mock_generate.py
RENAMED
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/__init__.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/labels.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/lldp.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/mock.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/ports.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/model/vlans.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/legend.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/lldp_md.py
RENAMED
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/mermaid.py
RENAMED
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/mkdocs.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/svg.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/svg_theme.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/templating.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps/render/theme.py
RENAMED
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unifi_network_maps-1.4.14 → unifi_network_maps-1.4.15}/src/unifi_network_maps.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|