mirror of
https://github.com/vcrhonek/hwdata
synced 2025-05-09 01:01:06 +08:00
40 lines
952 B
Python
Executable File
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
|