Merge pull request 'fix parse for get better the mac in inxi file' (#53) from bugfix/170_180 into main

Reviewed-on: #53
This commit is contained in:
cayop 2025-02-20 16:32:18 +00:00
commit beda2b893c
4 changed files with 24 additions and 16 deletions

View file

@ -38,7 +38,6 @@ class BuildMix:
self.algorithms[k] = self.get_hid(k) self.algorithms[k] = self.get_hid(k)
def get_doc(self): def get_doc(self):
self._get_components() self._get_components()

View file

@ -10,9 +10,14 @@ logger = logging.getLogger('django')
def get_mac(inxi): def get_mac(inxi):
nets = get_inxi_key(inxi, "Network") nets = get_inxi_key(inxi, "Network")
networks = [(nets[i], nets[i + 1]) for i in range(0, len(nets) - 1, 2)] n_nets = len(nets) - 1
for n, iface in networks: for i in range(0, n_nets):
if i + 1 > n_nets:
break
n = nets[i]
iface = nets[i + 1]
if get_inxi(n, "port"): if get_inxi(n, "port"):
return get_inxi(iface, 'mac') return get_inxi(iface, 'mac')

View file

@ -282,9 +282,8 @@ class ParseSnapshot:
def get_networks(self): def get_networks(self):
nets = get_inxi_key(self.inxi, "Network") or [] nets = get_inxi_key(self.inxi, "Network") or []
networks = [(nets[i], nets[i + 1]) for i in range(0, len(nets) - 1, 2)] for i in range(0, len(nets)-1):
n = nets[i]
for n, iface in networks:
model = get_inxi(n, "Device") model = get_inxi(n, "Device")
if not model: if not model:
continue continue
@ -298,20 +297,25 @@ class ParseSnapshot:
if get_inxi(n, "type") == "USB": if get_inxi(n, "type") == "USB":
interface = "USB" interface = "USB"
speed = get_inxi(iface, "speed") manufacturer = get_inxi(n, "manufacturer")
if not speed: speed = get_inxi(n, "speed")
speed = get_inxi(n, "speed") mac = ""
self.components.append( if len(nets) > i+1:
{ iface = nets[i+1]
mac = get_inxi(iface, 'mac')
if not speed:
speed = get_inxi(iface, "speed")
self.components.append({
"type": "NetworkAdapter", "type": "NetworkAdapter",
"model": model, "model": model,
"manufacturer": get_inxi(n, 'vendor'), "manufacturer": manufacturer,
"serialNumber": get_inxi(iface, 'mac'), "serialNumber": mac,
"speed": speed, "speed": speed,
"interface": interface, "interface": interface,
} })
)
def get_sound_card(self): def get_sound_card(self):
audio = get_inxi_key(self.inxi, "Audio") or [] audio = get_inxi_key(self.inxi, "Audio") or []

View file

@ -14,7 +14,7 @@ EREUSE24 = [
"model", "model",
"chassis", "chassis",
"serial_number", "serial_number",
"sku" "mac"
] ]
# EREUSE22 is used for build the chid of DPP # EREUSE22 is used for build the chid of DPP