Skip to content
Snippets Groups Projects
Commit 7cf2c93a authored by Anders Blomdell's avatar Anders Blomdell
Browse files

Make device matching work for unknown device kinds

parent 0325467f
Branches
Tags
No related merge requests found
...@@ -28,25 +28,32 @@ class Network(object): ...@@ -28,25 +28,32 @@ class Network(object):
self._tun = {} self._tun = {}
self._connection = {} self._connection = {}
# Get devices from network manager # Get devices from network manager
def is_kind(device, kind):
device_class = getattr(NetworkManager, kind, None)
if device_class == None:
print('%s not defined in this version of NetworkManager' % kind)
return False
return isinstance(device, device_class)
for d in NetworkManager.NetworkManager.AllDevices: for d in NetworkManager.NetworkManager.AllDevices:
if isinstance(d, NetworkManager.Generic): if is_kind(d, 'Generic'):
pass pass
elif isinstance(d, NetworkManager.Dummy): elif is_kind(d, 'Dummy'):
pass pass
elif isinstance(d, NetworkManager.Wireless): elif is_kind(d, 'Wireless'):
pass pass
elif isinstance(d, NetworkManager.WireGuard): elif is_kind(d, 'WireGuard'):
pass pass
elif isinstance(d, NetworkManager.Wired): elif is_kind(d, 'Wired'):
self._wired[d.HwAddress.lower()] = d self._wired[d.HwAddress.lower()] = d
pass pass
elif isinstance(d, NetworkManager.Bridge): elif is_kind(d, 'Bridge'):
self._bridge[d.HwAddress.lower()] = d self._bridge[d.HwAddress.lower()] = d
pass pass
elif isinstance(d, NetworkManager.IPTunnel): elif is_kind(d, 'IPTunnel'):
self._ip_tunnel[d.Interface] = d self._ip_tunnel[d.Interface] = d
pass pass
elif isinstance(d, NetworkManager.Tun): elif is_kind(d, 'Tun'):
self._tun[d.Interface] = d self._tun[d.Interface] = d
pass pass
else: else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment