#!/usr/bin/python import sys import os import string vendors = [] devices = [] f = open(sys.argv[1]) if f: pcitable = f.readlines() f.close() for line in pcitable: if not line.startswith("0x"): continue fields = line.split('\t') if fields[0] not in vendors: vendors.append(fields[0]) if (fields[0], fields[1]) not in devices: devices.append( (fields[0],fields[1])) f = open(sys.argv[2]) if f: pcimap = f.readlines() f.close() for line in pcimap: if line.startswith("#"): continue ( trash, vend, dev, trash, trash, trash , trash, trash ) = line.split() vend = vend.replace("0x0000","0x",1) dev = dev.replace("0x0000","0x",1) if vend not in vendors: vendors.append(vend) if (vend,dev) not in devices: devices.append( (vend, dev)) pciids = sys.stdin.readlines() current_vend = 0 for line in pciids: if line.startswith("#") or line == "\n": continue if line.startswith("\t\t"): continue if not line.startswith("\t"): current_vend = "0x%s" % line.split()[0] if current_vend in vendors: print line, continue dev = "0x%s" % line.split()[0] if (current_vend, dev) in devices: print line,