From fa2e5c60396e8a08f16814e91f3edd4d8017d7e8 Mon Sep 17 00:00:00 2001 From: F4ria Date: Sat, 23 Sep 2023 22:00:43 +0800 Subject: [PATCH] =?UTF-8?q?#484=20=E5=AF=BC=E5=87=BAkeep=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E6=97=A0=E6=B3=95=E8=8E=B7=E5=8F=96gpx?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E8=B7=91=E6=AD=A5=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=20(#496)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: keep interface upgraded, retrieved gpx data maybe failed * fix: lint * style: reformat code --------- Co-authored-by: F4ria --- run_page/keep_sync.py | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/run_page/keep_sync.py b/run_page/keep_sync.py index 617e26b478c..c632d0ae42c 100755 --- a/run_page/keep_sync.py +++ b/run_page/keep_sync.py @@ -85,23 +85,28 @@ def parse_raw_data_to_nametuple( ): raw_data_url = run_data.get("rawDataURL") r = session.get(raw_data_url) - # string strart with `H4sIAAAAAAAA` --> decode and unzip - run_points_data = decode_runmap_data(r.text) - run_points_data_gpx = run_points_data - if TRANS_GCJ02_TO_WGS84: - run_points_data = [ - list(eviltransform.gcj2wgs(p["latitude"], p["longitude"])) - for p in run_points_data - ] - for i, p in enumerate(run_points_data_gpx): - p["latitude"] = run_points_data[i][0] - p["longitude"] = run_points_data[i][1] + if r.ok: + # string strart with `H4sIAAAAAAAA` --> decode and unzip + run_points_data = decode_runmap_data(r.text) + run_points_data_gpx = run_points_data + if TRANS_GCJ02_TO_WGS84: + run_points_data = [ + list(eviltransform.gcj2wgs(p["latitude"], p["longitude"])) + for p in run_points_data + ] + for i, p in enumerate(run_points_data_gpx): + p["latitude"] = run_points_data[i][0] + p["longitude"] = run_points_data[i][1] + else: + run_points_data = [ + [p["latitude"], p["longitude"]] for p in run_points_data + ] + if with_download_gpx: + if str(keep_id) not in old_gpx_ids: + gpx_data = parse_points_to_gpx(run_points_data_gpx, start_time) + download_keep_gpx(gpx_data, str(keep_id)) else: - run_points_data = [[p["latitude"], p["longitude"]] for p in run_points_data] - if with_download_gpx: - if str(keep_id) not in old_gpx_ids: - gpx_data = parse_points_to_gpx(run_points_data_gpx, start_time) - download_keep_gpx(gpx_data, str(keep_id)) + print(f"ID {keep_id} retrieved gpx data failed") heart_rate = None if run_data["heartRate"]: heart_rate = run_data["heartRate"].get("averageHeartRate", None)