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,15 +1,3 @@
[run]
include =
./*
omit =
*tests*
*migrations*
*cvkbrno*
*/py2/*
*/venv/*
*__init__*
[report] [report]
exclude_lines = show_missing = True
pragma: no cover omit = py39/*
if __name__ == .__main__.:

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.models import User, Rower, Workout, TombStone
from rowers.tasks import handle_rp3_async_workout from rowers.tasks import handle_rp3_async_workout
@@ -101,6 +101,8 @@ class RP3Integration(SyncIntegration):
if not startdatetime: if not startdatetime:
startdatetime = str(timezone.now()) startdatetime = str(timezone.now())
record = create_or_update_syncrecord(self.rower, None, rp3id=id)
auth_token = self.open() auth_token = self.open()
_ = myqueue( _ = myqueue(
queuehigh, queuehigh,
@@ -172,9 +174,7 @@ class RP3Integration(SyncIntegration):
workouts_list = pd.json_normalize(workouts_json['data']['workouts']) workouts_list = pd.json_normalize(workouts_json['data']['workouts'])
knownrp3ids = uniqify([ knownrp3ids = get_known_ids(r, 'rp3id')
w.uploadedtorp3 for w in Workout.objects.filter(user=r)
])
workouts = [] 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 rowers.models import User, Rower, Workout, TombStone
from rowingdata import rowingdata from rowingdata import rowingdata
@@ -238,9 +238,7 @@ class SportTracksIntegration(SyncIntegration):
stids = [int(getidfromuri(item['uri'])) stids = [int(getidfromuri(item['uri']))
for item in workouts_json['items']] for item in workouts_json['items']]
knownstids = uniqify([ knownstids = get_known_ids(r, 'sporttracksid')
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
])
newids = [stid for stid in stids if stid not in knownstids] newids = [stid for stid in stids if stid not in knownstids]
for sporttracksid in newids: for sporttracksid in newids:
id = self.get_workout(sporttracksid) id = self.get_workout(sporttracksid)
@@ -254,6 +252,7 @@ class SportTracksIntegration(SyncIntegration):
r = self.rower r = self.rower
record = create_or_update_syncrecord(r, None, sporttracksid=id)
job = myqueue( job = myqueue(
queue, queue,
@@ -289,9 +288,8 @@ class SportTracksIntegration(SyncIntegration):
workouts = [] workouts = []
knownstids = uniqify([ knownstids = get_known_ids(r, 'sporttracksid')
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
])
for item in workouts_json['items']: for item in workouts_json['items']:
d = int(float(item['total_distance'])) d = int(float(item['total_distance']))
i = int(getidfromuri(item['uri'])) 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 rowers.models import User, Rower, Workout, TombStone
from rowingdata import rowingdata from rowingdata import rowingdata
@@ -212,6 +212,8 @@ class StravaIntegration(SyncIntegration):
except NoTokenError("Strava error"): except NoTokenError("Strava error"):
return 0 return 0
record = create_or_update_syncrecord(self.rower, None, stravaid=id)
csvfilename = 'media/{code}_{id}.csv'.format( csvfilename = 'media/{code}_{id}.csv'.format(
code=uuid4().hex[:16], id=id) code=uuid4().hex[:16], id=id)
job = myqueue(queue, job = myqueue(queue,
@@ -279,9 +281,7 @@ class StravaIntegration(SyncIntegration):
w.uploadedtostrava = int(stravaid) w.uploadedtostrava = int(stravaid)
w.save() w.save()
knownstravaids = uniqify([ knownstravaids = get_known_ids(self.rower,'stravaid')
w.uploadedtostrava for w in Workout.objects.filter(user=self.rower)
])
for item in res.json(): for item in res.json():
d = int(float(item['distance'])) d = int(float(item['distance']))

View File

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

Binary file not shown.

View File

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