def parseLeg(self, str): dct = json.loads(str) if dct.get('from') is None: return None if (dct.get('anchorDistance') is not None): rt = AVNRoutingLeg( None, gpx.GPXWaypoint(**self.convertToGpx(dct.get('from'))), None, False, -1, 0, False) rt.anchorDistance = float(dct.get('anchorDistance')) return rt if dct.get('to') is None: return None currentTarget = dct.get('currentTarget') if currentTarget is None: currentTarget = -1 rt = AVNRoutingLeg( dct.get('name'), gpx.GPXWaypoint(**self.convertToGpx(dct.get('from'))), gpx.GPXWaypoint(**self.convertToGpx(dct.get('to'))), dct.get('active'), currentTarget, dct.get('approachDistance'), dct.get('approach')) if dct.get('currentRoute') is not None: try: rt.currentRoute = self.routeFromJson(dct.get('currentRoute')) except: AVNLog.error("error parsing route from leg: %s", traceback.format_exc()) return rt
def parseWP(self, dct): return gpx.GPXWaypoint(**self.convertToGpx(dct))