improving syncrecord functionality, now also for workout export
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user