def get_all(self): try: import dmidecode except ImportError: log.warn( "Unable to load dmidecode module. No DMI info will be collected" ) raise dmiinfo = {} try: # When alternative memory device file was specified for this class, then # try to use it. Otherwise current device file will be used. if self.dump_file is not None: self.use_dump_file(dmidecode) log.info("Using dmidecode dump file: %s" % dmidecode.get_dev()) dmi_data = { "dmi.bios.": self._read_dmi(dmidecode.bios), "dmi.processor.": self._read_dmi(dmidecode.processor), "dmi.baseboard.": self._read_dmi(dmidecode.baseboard), "dmi.chassis.": self._read_dmi(dmidecode.chassis), "dmi.slot.": self._read_dmi(dmidecode.slot), "dmi.system.": self._read_dmi(dmidecode.system), "dmi.memory.": self._read_dmi(dmidecode.memory), "dmi.connector.": self._read_dmi(dmidecode.connector), } for tag, func in list(dmi_data.items()): dmiinfo = self._get_dmi_data(func, tag, dmiinfo) except Exception as e: log.warn(_("Error reading system DMI information: %s"), e) finally: self.log_warnings(dmidecode) return dmiinfo
def get_all(self): try: import dmidecode except ImportError: log.warn("Unable to load dmidecode module. No DMI info will be collected") raise dmiinfo = {} try: # When alternative memory device file was specified for this class, then # try to use it. Otherwise current device file will be used. if self.dump_file is not None: self.use_dump_file(dmidecode) log.info("Using dmidecode dump file: %s" % dmidecode.get_dev()) dmi_data = { "dmi.bios.": self._read_dmi(dmidecode.bios), "dmi.processor.": self._read_dmi(dmidecode.processor), "dmi.baseboard.": self._read_dmi(dmidecode.baseboard), "dmi.chassis.": self._read_dmi(dmidecode.chassis), "dmi.slot.": self._read_dmi(dmidecode.slot), "dmi.system.": self._read_dmi(dmidecode.system), "dmi.memory.": self._read_dmi(dmidecode.memory), "dmi.connector.": self._read_dmi(dmidecode.connector), } for tag, func in list(dmi_data.items()): dmiinfo = self._get_dmi_data(func, tag, dmiinfo) except Exception as e: log.warn(_("Error reading system DMI information: %s"), e, exc_info=True) finally: self.log_warnings(dmidecode) return dmiinfo
print_warnings() print("*** processor ***\n"); dmidecode.processor() print_warnings() print("*** memory ***\n"); dmidecode.memory() print_warnings() print("*** cache ***\n"); dmidecode.cache() print_warnings() print("*** connector ***\n"); dmidecode.connector() print_warnings() print("*** slot ***\n"); dmidecode.slot() print_warnings() #. Now test get/set of memory device file... print("*** get_dev()") print(dmidecode.get_dev()) print_warnings() print("*** set_dev('dmidata.dump')") print(dmidecode.set_dev("dmidata.dump")); print_warnings() print("*** get_dev()") print(dmidecode.get_dev()) print_warnings() #. Test taking a dump... if root_user: print("*** Dumping DMI data to dump file") print(dmidecode.dump()) print_warnings() #. Test reading the dump... Using the preferred API