1
0
mirror of https://github.com/vcrhonek/hwdata synced 2025-05-09 01:01:06 +08:00
hwdata/check-pci-ids.py
Vitezslav Crhonek 4c109fcdc8 Fix unescaped backslashes in pci.ids check
Signed-off-by: Vitezslav Crhonek <vcrhonek@redhat.com>
2024-03-13 11:22:07 +01:00

40 lines
952 B
Python
Executable File

#!/usr/bin/env python
import re
import sys
# Check that the sorting order is preserved in pci.ids
vendor_id = None
device_id = None
lineno = 1
file = open("pci.ids")
hexnum = '([0-9a-fA-F]{4})'
desc = '(.*\\S)'
for line in file:
m = re.match(hexnum + '\\s+' + desc, line)
if m:
new_id = int('0x' + m.group (1), 16)
if vendor_id is not None and new_id <= vendor_id:
print ("%d: Vendor ID (0x%04x) is less that previous ID (0x%04x)" %
(lineno, new_id, vendor_id))
sys.exit (-1)
vendor_id = new_id
device_id = -1
m = re.match('\t' + hexnum + '\\s+' + desc, line)
if m:
new_id = int('0x' + m.group (1), 16)
if new_id <= device_id:
print ("%d: Device ID (0x%04x) is less that previous ID (0x%04x)" %
(lineno, new_id, device_id))
sys.exit (-1)
device_id = new_id
lineno = lineno + 1