Esempio n. 1
0
    def report(self):
        system_id = self.system_id or self.persist.get("system_id")
        if not system_id:
            computer = self._manager.registry.hal.computer
            if not computer:
                return

            system = computer.system
            if not system:
                return

            # Old versions of HAL didn't have the system namespace
            if "hardware" in system:
                hardware = system.hardware
            else:
                hardware = system

            fingerprint = safe_md5sum()
            for field in [
                    computer.info.product,
                    computer.info.subsystem,
                    system.product,
                    system.vendor,
                    system.formfactor,
                    hardware.vendor,
                    hardware.product]:
                fingerprint.update(str(field))

            system_id = fingerprint.hexdigest()
            self.persist.set("system_id", system_id)

        message = system_id
        logging.info("System ID: %s", message)
        self._manager.reactor.fire("report-system_id", message)
Esempio n. 2
0
    def report(self):
        if self.system_id:
            system_id = self.system_id
        elif self.persist and self.persist.has("system_id"):
            system_id = self.persist.get("system_id")
        else:
            system_id = None

        if not system_id:
            resource = self.resource
            if resource is None or "product" not in resource:
                return

            chassis_type = Dmi.chassis_name_to_type[resource["product"]]

            fingerprint = safe_md5sum()
            for field in [
                    "Computer",
                    "unknown",
                    chassis_type,
                    resource.get("vendor", ""),
                    resource.get("model", "")]:
                fingerprint.update(str(field))

            system_id = fingerprint.hexdigest()
            if self.persist:
                self.persist.set("system_id", system_id)

        message = system_id
        logging.info("System ID: %s", message)
        self._manager.reactor.fire("report-system_id", message)
    def report(self):
        submission_id = self.submission_id
        if not submission_id:
            if not self._system_id:
                return

            fingerprint = safe_md5sum()
            fingerprint.update(self._system_id)
            fingerprint.update(str(datetime.utcnow()))
            submission_id = fingerprint.hexdigest()

        message = submission_id
        logging.info("Submission ID: %s", message)
        self._manager.reactor.fire("report-submission_id", message)
Esempio n. 4
0
    def report(self):
        submission_id = self.submission_id
        if not submission_id:
            if not self._system_id:
                return

            fingerprint = safe_md5sum()
            fingerprint.update(self._system_id)
            fingerprint.update(str(datetime.utcnow()))
            submission_id = fingerprint.hexdigest()

        message = submission_id
        logging.info("Submission ID: %s", message)
        self._manager.reactor.fire("report-submission_id", message)