mirror of
https://github.com/HorlogeSkynet/archey4
synced 2025-07-23 16:00:39 +02:00
[ENTRY][Model] Prevents vendor duplication when product name contains it
This commit is contained in:

committed by
Samuel FORESTIER

parent
766ff46c9a
commit
7a305988df
archey
@@ -90,8 +90,10 @@ class Model(Entry):
|
||||
product_name = _read_dmi_file("product_name")
|
||||
if product_name:
|
||||
product_info = [product_name]
|
||||
# Prepend product vendor name (if available).
|
||||
product_info.insert(0, _read_dmi_file("sys_vendor"))
|
||||
# Prepend product vendor name (if available and not already included).
|
||||
sys_vendor = _read_dmi_file("sys_vendor")
|
||||
if sys_vendor and not product_name.startswith(sys_vendor):
|
||||
product_info.insert(0, sys_vendor)
|
||||
# Append product version (if available).
|
||||
product_info.append(_read_dmi_file("product_version"))
|
||||
|
||||
|
@@ -125,13 +125,26 @@ class TestModelEntry(unittest.TestCase):
|
||||
with patch('archey.entries.model.open', mock_open()) as mock:
|
||||
mock.return_value.read.side_effect = [
|
||||
'PRODUCT-NAME\n',
|
||||
'PRODCT-VENDOR\n',
|
||||
'PRODUCT-VENDOR\n',
|
||||
'PRODUCT-VERSION\n'
|
||||
]
|
||||
|
||||
self.assertEqual(
|
||||
Model._fetch_dmi_info(), # pylint: disable=protected-access
|
||||
'PRODCT-VENDOR PRODUCT-NAME PRODUCT-VERSION'
|
||||
'PRODUCT-VENDOR PRODUCT-NAME PRODUCT-VERSION'
|
||||
)
|
||||
|
||||
# Product vendor is included in product name
|
||||
with patch('archey.entries.model.open', mock_open()) as mock:
|
||||
mock.return_value.read.side_effect = [
|
||||
'PRODUCT-VENDOR PRODUCT-NAME\n',
|
||||
'PRODUCT-VENDOR\n',
|
||||
'PRODUCT-VERSION\n'
|
||||
]
|
||||
|
||||
self.assertEqual(
|
||||
Model._fetch_dmi_info(), # pylint: disable=protected-access
|
||||
'PRODUCT-VENDOR PRODUCT-NAME PRODUCT-VERSION'
|
||||
)
|
||||
|
||||
# Only product name and version are available.
|
||||
|
Reference in New Issue
Block a user