Private
Public Access
1
0

improving syncrecord functionality, now also for workout export

This commit is contained in:
2023-07-19 19:57:22 +02:00
parent a897a496c2
commit 1404d7b80a
6 changed files with 41 additions and 21 deletions

View File

@@ -5,7 +5,7 @@ from rowers.courseutils import coordinate_in_path
from rowers.utils import (
# workflowleftpanel, workflowmiddlepanel,
defaultleft, defaultmiddle, landingpages, landingpages2,
steps_read_fit, steps_write_fit, ps_dict_order
steps_read_fit, steps_write_fit, ps_dict_order, uniqify
)
from rowers.metrics import axlabels
from rowers.utils import geo_distance
@@ -3630,6 +3630,28 @@ class SyncRecord(models.Model):
if self.workout:
self.rower = self.workout.user
return super(SyncRecord, self).save(*args, **kwargs)
def __str__(self):
str = 'SyncRecord {i} {r} {w} '.format(
i = self.id,
r = self.rower,
w = self.workout,
)
str2 = ''
for field in ['stravaid', 'sporttracksid', 'nkid', 'c2id', 'tpid']:
value = getattr(self, field, None)
if value is not None:
str2 += '{w}: {v},'.format(
w = field,
v = value
)
if str2:
str = str+'('+str2+')'
return str
def create_or_update_syncrecord(rower, workout, **kwargs):
try:
@@ -3674,7 +3696,12 @@ def create_or_update_syncrecord(rower, workout, **kwargs):
return record
def get_known_ids(rower, field_name):
knownids = uniqify(
getattr(record, field_name, None) for record in SyncRecord.objects.filter(rower=rower)
)
return knownids