def assess_disk(self, disk): diskinfo = extract(self.data, ['disk', disk]) return { 'type': Grade.str(diskinfo.get('type'), ['SDD'], ['HDD']), # 50Gb - good, 1Tb - good enough 'size': Grade.int(diskinfo.get('size'), 50 * (1000**3), 1000**4), }
def rate_disk(self, disk): diskinfo = extract(self.data, ['disk', disk]) return self.folding.fold( { 'type': Grade.str(diskinfo.get('type'), ['SDD'], ['HDD']), # 50Gb - good, 1Tb - good enough 'size': Grade.int(diskinfo.get('size'), 50 * (1000**3), 1000**4), }, self.folding.DEVICE)
def test_grade_str(self): bad = ['Realtek', 'Dlink'] good = ['Intel', 'Melanox'] expected = { 'Melanox': 10, 'Intel': 10, 'Broadcom': 2, 'Dlink': 1, 'Realtek': 1, } for k, value in iteritems(expected): self.assertEqual(Grade.str(k, good, bad), value)
def test_grade_str(self): bad = ["Realtek", "Dlink"] good = ["Intel", "Melanox"] expected = { "Melanox": 10, "Intel": 10, "Broadcom": 2, "Dlink": 1, "Realtek": 1, } for k, value in iteritems(expected): self.assertEqual(Grade.str(k, good, bad), value)
def assess_cpu(self): cpuinfo = extract(self.data, ['cpu', 'info']) if cpuinfo: return { 'CPU MHz': Grade.int(cpuinfo.get('CPU MHz'), 2000, 4000), 'BogoMIPS': Grade.int(cpuinfo.get('BogoMIPS'), 4000, 8000), 'CPU(s)': Grade.int(cpuinfo.get('CPU(s)'), 2, 32), 'Core(s) per socket': Grade.int(cpuinfo.get('Core(s) per socket'), 1, 2), 'Socket(s)': Grade.int(cpuinfo.get('Socket(s)'), 1, 2), 'Thread(s) per core': Grade.int(cpuinfo.get('Thread(s) per core'), 2, 1), 'L3 cache': Grade.int(cpuinfo.get('L3 cache'), 1000, 30000), 'Vendor ID': Grade.str(cpuinfo.get('Vendor ID'), good=['GenuineIntel']), }
def rate(self): cpuinfo = extract(self.data, ['cpu', 'info']) if cpuinfo: # None if no cpuinfo key return self.folding.fold( { 'CPU MHz': Grade.int(cpuinfo.get('CPU MHz'), 2000, 4000), 'BogoMIPS': Grade.int(cpuinfo.get('BogoMIPS'), 4000, 8000), 'CPU(s)': Grade.int(cpuinfo.get('CPU(s)'), 2, 32), 'Core(s) per socket': Grade.int(cpuinfo.get('Core(s) per socket'), 1, 2), 'Socket(s)': Grade.int(cpuinfo.get('Socket(s)'), 1, 2), 'Thread(s) per core': Grade.int(cpuinfo.get('Thread(s) per core'), 2, 1), 'L3 cache': Grade.int(cpuinfo.get('L3 cache'), 1000, 30000), 'Vendor ID': Grade.str(cpuinfo.get('Vendor ID'), good=['GenuineIntel']), }, self.folding.SUBSYSTEM)