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)
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)