pyhw 0.3.4__py3-none-any.whl → 0.3.6__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- pyhw/__main__.py +4 -0
- pyhw/backend/backendBase.py +1 -0
- pyhw/backend/gpu/macos.py +1 -1
- pyhw/backend/nic/__init__.py +4 -0
- pyhw/backend/nic/linux.py +43 -0
- pyhw/backend/nic/nicBase.py +17 -0
- pyhw/backend/nic/nicInfo.py +8 -0
- pyhw/pyhwUtil/pyhwUtil.py +2 -0
- {pyhw-0.3.4.dist-info → pyhw-0.3.6.dist-info}/METADATA +1 -1
- {pyhw-0.3.4.dist-info → pyhw-0.3.6.dist-info}/RECORD +14 -10
- {pyhw-0.3.4.dist-info → pyhw-0.3.6.dist-info}/WHEEL +1 -1
- {pyhw-0.3.4.dist-info → pyhw-0.3.6.dist-info}/LICENSE +0 -0
- {pyhw-0.3.4.dist-info → pyhw-0.3.6.dist-info}/entry_points.txt +0 -0
- {pyhw-0.3.4.dist-info → pyhw-0.3.6.dist-info}/top_level.txt +0 -0
pyhw/__main__.py
CHANGED
@@ -9,6 +9,7 @@ from .backend.os import OSDetect
|
|
9
9
|
from .backend.cpu import CPUDetect
|
10
10
|
from .backend.gpu import GPUDetect
|
11
11
|
from .backend.memory import MemoryDetect
|
12
|
+
from .backend.nic import NICDetect
|
12
13
|
from .pyhwUtil import createDataString
|
13
14
|
from .pyhwUtil import getOS, selectOSLogo
|
14
15
|
|
@@ -30,6 +31,9 @@ def main():
|
|
30
31
|
if gpu_info.number > 0:
|
31
32
|
data.GPU = gpu_info.gpus
|
32
33
|
data.Memory = MemoryDetect(os=current_os).getMemoryInfo().memory
|
34
|
+
nic_info = NICDetect(os=current_os).getNICInfo()
|
35
|
+
if nic_info.number > 0:
|
36
|
+
data.NIC = nic_info.nics
|
33
37
|
|
34
38
|
Printer(logo_os=selectOSLogo(OSDetect(os=current_os).getOSInfo().id), data=createDataString(data)).cPrint()
|
35
39
|
|
pyhw/backend/backendBase.py
CHANGED
pyhw/backend/gpu/macos.py
CHANGED
@@ -47,7 +47,7 @@ class GPUDetectMacOS:
|
|
47
47
|
if self.__handleVendor(gpu.get("spdisplays_vendor")) == "Intel": # Integrated GPU
|
48
48
|
self.__gpuInfo.gpus.append(f'{gpu.get("sppci_model")} [CPU Integrated]')
|
49
49
|
elif self.__handleVendor(gpu.get("spdisplays_vendor")) == "AMD": # dGPU
|
50
|
-
self.__gpuInfo.gpus.append(f'{gpu.get("sppci_model")} [Discrete]')
|
50
|
+
self.__gpuInfo.gpus.append(f'{gpu.get("sppci_model")} {gpu.get("spdisplays_vram")} [Discrete]')
|
51
51
|
elif self.__handleVendor(gpu.get("spdisplays_vendor")) == "Nvidia": # Since current macOS does not support NVIDIA GPUs, this condition is not applicable
|
52
52
|
pass
|
53
53
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import subprocess
|
2
|
+
from .nicInfo import NICInfo
|
3
|
+
from ...pyhwUtil import getArch
|
4
|
+
from ...pyhwException import BackendException
|
5
|
+
|
6
|
+
|
7
|
+
class NICDetectLinux:
|
8
|
+
def __init__(self):
|
9
|
+
self.__nicInfo = NICInfo()
|
10
|
+
|
11
|
+
def getNICInfo(self):
|
12
|
+
self.__getNICInfo()
|
13
|
+
self.__sortNICList()
|
14
|
+
return self.__nicInfo
|
15
|
+
|
16
|
+
def __getNICInfo(self):
|
17
|
+
try:
|
18
|
+
pci_info = subprocess.run(["bash", "-c", "lspci"], capture_output=True, text=True).stdout.strip()
|
19
|
+
except subprocess.SubprocessError:
|
20
|
+
return
|
21
|
+
if len(pci_info) == 0: # no pcie devices found
|
22
|
+
self.__handleNonePciDevices()
|
23
|
+
return
|
24
|
+
for line in pci_info.split("\n"):
|
25
|
+
if "Ethernet controller" in line or "Network controller" in line:
|
26
|
+
nic = line.split(": ")[1]
|
27
|
+
self.__nicInfo.nics.append(self.__nicNameClean(nic))
|
28
|
+
self.__nicInfo.number += 1
|
29
|
+
if self.__nicInfo.number == 0:
|
30
|
+
self.__handleNonePciDevices() # fallback to usb detection method
|
31
|
+
|
32
|
+
def __handleNonePciDevices(self):
|
33
|
+
# placeholder for a more advanced method.
|
34
|
+
self.__nicInfo.nics.append("Not found")
|
35
|
+
self.__nicInfo.number = 1
|
36
|
+
|
37
|
+
@staticmethod
|
38
|
+
def __nicNameClean(nic_name: str):
|
39
|
+
nic_name_clean = nic_name.replace("Corporation ", "")
|
40
|
+
return nic_name_clean
|
41
|
+
|
42
|
+
def __sortNICList(self):
|
43
|
+
return self.__nicInfo.nics.sort()
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from .linux import NICDetectLinux
|
2
|
+
|
3
|
+
|
4
|
+
class NICDetect:
|
5
|
+
"""
|
6
|
+
Class for network interface (NIC) detection.
|
7
|
+
"""
|
8
|
+
def __init__(self, os):
|
9
|
+
self.OS = os
|
10
|
+
|
11
|
+
def getNICInfo(self):
|
12
|
+
"""
|
13
|
+
Detects the network interfaces (NICs) connected to the system.
|
14
|
+
:return: dataclass NICInfo, direct attr: nics
|
15
|
+
"""
|
16
|
+
if self.OS == "linux":
|
17
|
+
return NICDetectLinux().getNICInfo()
|
pyhw/pyhwUtil/pyhwUtil.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
pyhw/__init__.py,sha256=IMjkMO3twhQzluVTo8Z6rE7Eg-9U79_LGKMcsWLKBkY,22
|
2
|
-
pyhw/__main__.py,sha256=
|
2
|
+
pyhw/__main__.py,sha256=mAlp-qNRg3H9jeftQeNBZPDPyhvSHJ8v0VL_85qPyg8,1616
|
3
3
|
pyhw/macos.py,sha256=kF973QvtEFky4m8RnYTJ-HWPuJi3625tvnWqJAT_DHM,4598
|
4
4
|
pyhw/backend/__init__.py,sha256=knn_3Yroow1h0dqdrozk3zyy3vz-kQyNBRjR6OLmVoY,50
|
5
|
-
pyhw/backend/backendBase.py,sha256=
|
5
|
+
pyhw/backend/backendBase.py,sha256=wLb03ZsDqWx36KaXnc0tMZfxOSM0_oBnnfv9khyRis4,478
|
6
6
|
pyhw/backend/cpu/__init__.py,sha256=5YfANJVRwNwTRodG0ENOgusrdN592aaSnfq5ok4dKTo,56
|
7
7
|
pyhw/backend/cpu/cpuBase.py,sha256=AGWqVjdvb82NiH4kxk3GERdBLwBNhkR23j2ei_l3S18,464
|
8
8
|
pyhw/backend/cpu/cpuInfo.py,sha256=A_nNGElq9W7oZ5DFJowLdFBE0ZvXKr5h29E6TGAvbRc,251
|
@@ -12,7 +12,7 @@ pyhw/backend/gpu/__init__.py,sha256=EpMjPvUaXt0LTNMvGmB8WgXbUB9keCxuOhu8NT3Re6o,
|
|
12
12
|
pyhw/backend/gpu/gpuBase.py,sha256=Ge0DX2P8_EB7ovM7glmPUnVsPJL3OUHV2t_1T5mimR0,409
|
13
13
|
pyhw/backend/gpu/gpuInfo.py,sha256=d_z_z5DiZAg85wP0VOBQEU0QHdaK3qFqA2Tp9Eq8-Zs,133
|
14
14
|
pyhw/backend/gpu/linux.py,sha256=Pc9Sajf0tgRyT9zP1lYysQciLmgtNZjsuJNH3xNvwAY,1715
|
15
|
-
pyhw/backend/gpu/macos.py,sha256=
|
15
|
+
pyhw/backend/gpu/macos.py,sha256=kkTq9_ZJwTQ0Jwep4oYq41STDTplFz83jKRYbvlbMhg,2337
|
16
16
|
pyhw/backend/host/__init__.py,sha256=Efaj7-Oya7H8HdpZHQCLrwn-mcfPb-d6yfh4dzsE_7I,58
|
17
17
|
pyhw/backend/host/hostBase.py,sha256=POyDW3f5JSWtEKyCfrVSBEddSwoywe_OBgUExCEuje8,563
|
18
18
|
pyhw/backend/host/hostInfo.py,sha256=Xvz0LugPiCSWMkcDsp4p2rrojYFZauL6Q-gCZ6NLz5k,184
|
@@ -30,6 +30,10 @@ pyhw/backend/memory/macos.py,sha256=ur2HxmmmVkXmaxEcw_otphifVp_csfNMJdgt-idCq7M,
|
|
30
30
|
pyhw/backend/memory/memoryBase.py,sha256=RFRWTByH25T3T77maxLyIRRoedIi5M8XLtVbvwBmjfY,433
|
31
31
|
pyhw/backend/memory/memoryInfo.py,sha256=OQF165uEyuapAsi7cKacQYDRnKdrQHeldfyFwzS9N2g,186
|
32
32
|
pyhw/backend/metal/t.py,sha256=52yv-JoXNfaIOfcxEEidIg0MoyFtzWvTRm550kQKPZA,391
|
33
|
+
pyhw/backend/nic/__init__.py,sha256=eP4eOYIvMF3LcTf954hJa6TnB8R4Qahss2g-UcgypKY,57
|
34
|
+
pyhw/backend/nic/linux.py,sha256=xWZQlPfeQK9vbn3vQvm-liEJ1Zu1LGwkVhGrzJO1jjc,1436
|
35
|
+
pyhw/backend/nic/nicBase.py,sha256=g68oFWN1cjObAZQZXKtSyz9XVPpuWaTqLsQ8Q0wTO7c,422
|
36
|
+
pyhw/backend/nic/nicInfo.py,sha256=wuBuL-aIzD441IUDPGz5e0xctcZ-opdpgqkVxgbvZLg,133
|
33
37
|
pyhw/backend/os/__init__.py,sha256=rPHQYdQK3qU6ZwwodqVoEWeqBnKffXlJyi4k3-8ViPY,53
|
34
38
|
pyhw/backend/os/linux.py,sha256=UDUSbCMQQJZqfRFHS270u-ZrW4KfqZxcS_vQZl6VbPo,1977
|
35
39
|
pyhw/backend/os/macos.py,sha256=DwgpwRD1a2oTANR_XL3kkMzNawqrt23F79dqBw3ULK8,1906
|
@@ -70,11 +74,11 @@ pyhw/frontend/logo/ascii/ubuntu_small.pyhw,sha256=Xf8LSZdZUu9aEG3efhb1FUlUEuJ-3U
|
|
70
74
|
pyhw/pyhwException/__init__.py,sha256=8JsFvtF13g0Y5t4z9fRndDXtfCzuBM59jDf6PhWSFSk,220
|
71
75
|
pyhw/pyhwException/pyhwException.py,sha256=wxuzFQa9g7XB1q9TUKO_55lw7wMEJMpzG8w1GVTFVa0,197
|
72
76
|
pyhw/pyhwUtil/__init__.py,sha256=PzeP9fXsIhvr3sUpJ4DxW9_H25DEIasBFfXd_NztfR4,226
|
73
|
-
pyhw/pyhwUtil/pyhwUtil.py,sha256=
|
77
|
+
pyhw/pyhwUtil/pyhwUtil.py,sha256=PXibpl4hfc-xFHV1HNWwkzttC0NQITHLEwojYKMmD-U,2413
|
74
78
|
pyhw/pyhwUtil/sysctlUtil.py,sha256=S-rUvqi7ZrMyMouIhxlyHEQ4agM7sCT1Y7uzs3Hu5-o,841
|
75
|
-
pyhw-0.3.
|
76
|
-
pyhw-0.3.
|
77
|
-
pyhw-0.3.
|
78
|
-
pyhw-0.3.
|
79
|
-
pyhw-0.3.
|
80
|
-
pyhw-0.3.
|
79
|
+
pyhw-0.3.6.dist-info/LICENSE,sha256=hJs6RBqSVCexbTsalkMLNFI5t06kekQEsSVaOt_-yLs,1497
|
80
|
+
pyhw-0.3.6.dist-info/METADATA,sha256=Sf-ylDNdsZWPPoOvwyvlh97L4VmYx1ZADIdEi6__G9w,4041
|
81
|
+
pyhw-0.3.6.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
82
|
+
pyhw-0.3.6.dist-info/entry_points.txt,sha256=q-AB8im_QahpmNrmy4aPTJRGi0LlbNlnI3kF7s6pKss,44
|
83
|
+
pyhw-0.3.6.dist-info/top_level.txt,sha256=7Inxvxt1TngEricKZEex9_WJZS3DbKYFUXDz4v5WHYU,5
|
84
|
+
pyhw-0.3.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|