Private
Public Access
1
0

fixing failing tests

This commit is contained in:
Sander Roosendaal
2023-02-10 17:44:23 +01:00
parent 2981c59a5d
commit 792faf414e
5 changed files with 82 additions and 16 deletions

View File

@@ -1832,14 +1832,77 @@ def workout_getrp3importview(request, externalid):
url = reverse('workout_rp3import_view')
return HttpResponseRedirect(url)
@login_required()
def workout_getimportview(request, externalid, source='c2', do_async=True):
def workout_getimportview_old(request, externalid, source='c2', do_async=True):
if 'startdate' in request.session and source == 'nk': # pragma: no cover
startdate = request.session.get('startdate')
enddate = request.session.get('enddate')
try:
result = importsources[source].get_workout(request.user, externalid, do_async=do_async,
startdate=startdate, enddate=enddate)
except NoTokenError:
return HttpResponseRedirect(reverse(importauthorizeviews[source]))
url = reverse(importlistviews[source])
return HttpResponseRedirect(url)
try:
result = importsources[source].get_workout(request.user, externalid,
do_async=do_async)
except NoTokenError:
return HttpResponseRedirect(reverse(importauthorizeviews[source]))
if result: # pragma: no cover
messages.info(
request, "Your workout will be imported in the background")
# this should return to the respective import list page
else: # pragma: no cover
messages.error(request, 'Error getting the workout')
url = reverse(importlistviews[source])
return HttpResponseRedirect(url)
# Imports all new workouts from SportTracks
@login_required()
def workout_getsporttracksworkout_all(request):
res = sporttracksstuff.get_sporttracks_workout_list(request.user)
if (res.status_code == 200):
r = getrower(request.user)
stids = [int(getidfromuri(item['uri']))
for item in res.json()['items']]
knownstids = uniqify([
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
])
newids = [stid for stid in stids if stid not in knownstids]
for sporttracksid in newids:
id = sporttracksstuff.get_workout(
request.user, sporttracksid)
if id == 0: # pragma: no cover
messages.error(
request, "Something went wrong with workout {id}".format(id=sporttracksid))
else:
w = Workout.objects.get(id=id)
w.uploadedtosporttracks = sporttracksid
w.save()
url = reverse('workouts_view')
return HttpResponseRedirect(url)
@login_required()
def workout_getimportview(request, externalid, source='c2', do_async=True):
try:
integration = importsources[source](request.user)
except TypeError:
return workout_getimportview_old(request, externalid, source=source, do_async=True)
if 'startdate' in request.session and source == 'nk': # pragma: no cover
startdate = request.session.get('startdate')
enddate = request.session.get('enddate')
try:
result = integration.get_workout(externalid, startdate=startdate, enddate=enddate)