+ def rectified(self) -> Report:
+ if self.gps_valid:
+ return CoordReport(
+ devtime=str(self.devtime),
+ battery_percentage=self.battery_percentage,
+ accuracy=self.positioning_accuracy,
+ altitude=self.altitude,
+ speed=self.speed,
+ direction=self.direction,
+ latitude=self.latitude,
+ longitude=self.longitude,
+ )
+ else:
+ return HintReport(
+ devtime=str(self.devtime),
+ battery_percentage=self.battery_percentage,
+ mcc=self.mcc,
+ mnc=self.mnc,
+ gsm_cells=self.gsm_cells,
+ wifi_aps=self.wifi_aps,
+ )
+