more use of syncrecord
This commit is contained in:
16
.coveragerc
16
.coveragerc
@@ -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__.:
|
|
||||||
|
|
||||||
@@ -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 = []
|
||||||
|
|
||||||
|
|||||||
@@ -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']))
|
||||||
|
|||||||
@@ -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']))
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user