Private
Public Access
1
0

more use of syncrecord

This commit is contained in:
2023-07-20 08:45:51 +02:00
parent 88c26ea713
commit 7c0558deea
7 changed files with 19 additions and 29 deletions

View File

@@ -1,4 +1,4 @@
from .integrations import SyncIntegration, NoTokenError
from .integrations import SyncIntegration, NoTokenError, create_or_update_syncrecord, get_known_ids
from rowers.models import User, Rower, Workout, TombStone
from rowers.tasks import handle_rp3_async_workout
@@ -100,6 +100,8 @@ class RP3Integration(SyncIntegration):
startdatetime = kwargs.get('startdatetime', None)
if not startdatetime:
startdatetime = str(timezone.now())
record = create_or_update_syncrecord(self.rower, None, rp3id=id)
auth_token = self.open()
_ = myqueue(
@@ -172,9 +174,7 @@ class RP3Integration(SyncIntegration):
workouts_list = pd.json_normalize(workouts_json['data']['workouts'])
knownrp3ids = uniqify([
w.uploadedtorp3 for w in Workout.objects.filter(user=r)
])
knownrp3ids = get_known_ids(r, 'rp3id')
workouts = []

View File

@@ -1,4 +1,4 @@
from .integrations import SyncIntegration, NoTokenError
from .integrations import SyncIntegration, NoTokenError, create_or_update_syncrecord, get_known_ids
from rowers.models import User, Rower, Workout, TombStone
from rowingdata import rowingdata
@@ -238,9 +238,7 @@ class SportTracksIntegration(SyncIntegration):
stids = [int(getidfromuri(item['uri']))
for item in workouts_json['items']]
knownstids = uniqify([
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
])
knownstids = get_known_ids(r, 'sporttracksid')
newids = [stid for stid in stids if stid not in knownstids]
for sporttracksid in newids:
id = self.get_workout(sporttracksid)
@@ -254,6 +252,7 @@ class SportTracksIntegration(SyncIntegration):
r = self.rower
record = create_or_update_syncrecord(r, None, sporttracksid=id)
job = myqueue(
queue,
@@ -289,9 +288,8 @@ class SportTracksIntegration(SyncIntegration):
workouts = []
knownstids = uniqify([
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
])
knownstids = get_known_ids(r, 'sporttracksid')
for item in workouts_json['items']:
d = int(float(item['total_distance']))
i = int(getidfromuri(item['uri']))

View File

@@ -1,4 +1,4 @@
from .integrations import SyncIntegration, NoTokenError
from .integrations import SyncIntegration, NoTokenError, create_or_update_syncrecord, get_known_ids
from rowers.models import User, Rower, Workout, TombStone
from rowingdata import rowingdata
@@ -212,6 +212,8 @@ class StravaIntegration(SyncIntegration):
except NoTokenError("Strava error"):
return 0
record = create_or_update_syncrecord(self.rower, None, stravaid=id)
csvfilename = 'media/{code}_{id}.csv'.format(
code=uuid4().hex[:16], id=id)
job = myqueue(queue,
@@ -279,9 +281,7 @@ class StravaIntegration(SyncIntegration):
w.uploadedtostrava = int(stravaid)
w.save()
knownstravaids = uniqify([
w.uploadedtostrava for w in Workout.objects.filter(user=self.rower)
])
knownstravaids = get_known_ids(self.rower,'stravaid')
for item in res.json():
d = int(float(item['distance']))

View File

@@ -3625,6 +3625,7 @@ class SyncRecord(models.Model):
nkid = models.BigIntegerField(unique=True,null=True,default=None)
c2id = models.BigIntegerField(unique=True,null=True,default=None)
tpid = models.BigIntegerField(unique=True,null=True,default=None)
rp3id = models.BigIntegerField(unique=True,null=True,default=None)
def save(self, *args, **kwargs):
if self.workout:

Binary file not shown.

View File

@@ -142,6 +142,7 @@ def do_sync(w, options, quick=False):
# upload_to_strava = False
do_strava_export = False
w.save()
record = create_or_update_syncrecord(w.user, w, {stravaid:options['stravaid']})
except KeyError:
pass
@@ -192,6 +193,7 @@ def do_sync(w, options, quick=False):
if options['rp3id'] != 0 and options['rp3id'] != '': # pragma: no cover
w.uploadedtorp3 = options['rp3id']
w.save()
record = create_or_update_syncrecord(w.user, w, {rp3id:options['rp3id']})
except KeyError:
pass
@@ -242,6 +244,7 @@ def do_sync(w, options, quick=False):
w.uploadedtosporttracks = sporttracksid
w.save()
do_st_export = False
record = create_or_update_syncrecord(w.user, w, {'sporttracksid':sporttracksid})
try: # pragma: no cover
upload_to_st = options['upload_to_SportTracks'] or do_st_export
do_st_export = upload_to_st