Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
        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