Skip to content

Commit

Permalink
Merge branch 'yihong0618:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
jujimeizuo committed Oct 14, 2023
2 parents b422369 + 657d135 commit 72b02b6
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
16 changes: 7 additions & 9 deletions run_page/codoon_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,27 @@
import os
import time
import urllib.parse
import xml.etree.ElementTree as ET
from collections import namedtuple
from datetime import datetime, timedelta

import eviltransform
import gpxpy
import numpy as np
import polyline
import requests
import eviltransform
from config import (
BASE_TIMEZONE,
GPX_FOLDER,
TCX_FOLDER,
JSON_FILE,
SQL_FILE,
TCX_FOLDER,
run_map,
start_point,
)
from generator import Generator

from utils import adjust_time_to_utc, adjust_timestamp_to_utc, to_date

import numpy as np
import xml.etree.ElementTree as ET
from tzlocal import get_localzone
from utils import adjust_time_to_utc, adjust_timestamp_to_utc, to_date

# struct body
FitType = np.dtype(
Expand Down Expand Up @@ -238,13 +236,13 @@ def tcx_job(run_data):
if "points" in run_data:
own_points = run_data["points"] # track points
# get single bpm
if own_heart_rate != None:
if own_heart_rate is not None:
for single_time, single_bpm in own_heart_rate.items():
single_time = adjust_timestamp_to_utc(single_time, str(get_localzone()))
# set bpm data
fit_array = set_array(fit_array, single_time, single_bpm, None, None, None)
# get single track point
if own_points != None:
if own_points is not None:
for point in own_points:
repeat_flag = False
# TODO add elevation information
Expand Down
17 changes: 14 additions & 3 deletions run_page/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,17 +90,28 @@ def get_strava_last_time(client, is_milliseconds=True):
return 0


def upload_file_to_strava(client, file_name, data_type):
def upload_file_to_strava(client, file_name, data_type, force_to_run=True):
with open(file_name, "rb") as f:
try:
r = client.upload_activity(activity_file=f, data_type=data_type)
if force_to_run:
r = client.upload_activity(
activity_file=f, data_type=data_type, activity_type="run"
)
else:
r = client.upload_activity(activity_file=f, data_type=data_type)

except RateLimitExceeded as e:
timeout = e.timeout
print()
print(f"Strava API Rate Limit Exceeded. Retry after {timeout} seconds")
print()
time.sleep(timeout)
r = client.upload_activity(activity_file=f, data_type=data_type)
if force_to_run:
r = client.upload_activity(
activity_file=f, data_type=data_type, activity_type="run"
)
else:
r = client.upload_activity(activity_file=f, data_type=data_type)
print(
f"Uploading {data_type} file: {file_name} to strava, upload_id: {r.upload_id}."
)

0 comments on commit 72b02b6

Please sign in to comment.