Private
Public Access
1
0

passing most tests

This commit is contained in:
Sander Roosendaal
2023-02-14 21:37:57 +01:00
parent 66562ead59
commit 8912ee3c8e
6 changed files with 9 additions and 28 deletions

View File

@@ -59,12 +59,12 @@ class RP3Integration(SyncIntegration):
try:
rp3ids = workouts_list['id'].values
workouts_list.set_index('id',inpace=True)
workouts_list.set_index('id',inplace=True)
except (KeyError, IndexError):
return 0
knownrp3ids = uniqify([
w.uploadedtorp3 for w in Workout.objects.filter(user=rower)
w.uploadedtorp3 for w in Workout.objects.filter(user=r)
])
dologging('rp3_import.log',rp3ids)
@@ -74,7 +74,7 @@ class RP3Integration(SyncIntegration):
dologging('rp3_import.log',newids)
for id in newids:
startdatetime = workouts_list.loc[id, 'executed_at_ios8601']
startdatetime = workouts_list.loc[id, 'executed_at_iso8601']
dologging('rp3_import.log', startdatetime)
_ = myqueue(
@@ -85,7 +85,7 @@ class RP3Integration(SyncIntegration):
id,
startdatetime,
20,
{'timezone':self.rower.defaulttimezone}
timezone = self.rower.defaulttimezone
)
return 1
@@ -173,7 +173,6 @@ class RP3Integration(SyncIntegration):
workouts = []
for key, data in workouts_list.iterrows():
print(data)
try:
i = data['id']
except KeyError: # pragma: no cover

View File

@@ -29,7 +29,6 @@ import rowers.uploads as uploads
import rowers.polarstuff as polarstuff
import rowers.rp3stuff as rp3stuff
from rowers.opaque import encoder
from rowers.integrations import *
@@ -102,7 +101,8 @@ class Command(BaseCommand):
rowers = Rower.objects.filter(rp3_auto_import=True)
for r in rowers: # pragma: no cover
if user_is_not_basic(r.user) or user_is_coachee(r.user):
_ = rp3stuff.get_rp3_workouts(r)
rp3_integration = RP3Integration(r.user)
_ = rp3_integration.get_workouts()
except: # pragma: no cover
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)

View File

@@ -3245,8 +3245,6 @@ def handle_rp3_async_workout(userid, rp3token, rp3id, startdatetime, max_attempt
'timezone': timezone,
}
print(uploadoptions)
session = requests.session()
newHeaders = {'Content-type': 'application/json', 'Accept': 'text/plain'}
session.headers.update(newHeaders)

Binary file not shown.

View File

@@ -653,8 +653,6 @@ urlpatterns = [
re_path(r'^workout/nkimport/all/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
views.workout_getnkworkout_all,
name='workout_getnkworkout_all'),
re_path(r'^workout/rp3import/(?P<externalid>\d+)/$', views.workout_getrp3importview,
name='workout_getrp3importview'),
re_path(r'^workout/rp3import/user/(?P<userid>\d+)/$',
views.workout_rp3import_view, name='workout_rp3import_view'),
re_path(r'^workout/rp3import/all/$', views.workout_getrp3workout_all,

View File

@@ -1540,6 +1540,7 @@ importlistviews = {
'sporttracks': 'workout_sporttracksimport_view',
'trainingpeaks': 'workout_view',
'nk': 'workout_nkimport_view',
'rp3': 'workout_rp3import_view',
}
importauthorizeviews = {
@@ -1550,6 +1551,7 @@ importauthorizeviews = {
'sporttracks': 'rower_sporttracks_authorize',
'trainingpeaks': 'rower_tp_authorize',
'nk': 'rower_nk_authorize',
'rp3': 'rower_rp3_authorize',
}
importsources = {
@@ -1560,26 +1562,10 @@ importsources = {
'sporttracks': SportTracksIntegration,
'trainingpeaks': tpstuff,
'nk': NKIntegration,
'rp3':RP3Integration,
}
@login_required()
@permission_required('rower.is_not_freecoach', fn=get_user_by_userid, raise_exception=True)
def workout_getrp3importview(request, externalid):
r = getrequestrower(request)
if r.user != request.user: # pragma: no cover
messages.error(
request, 'You can only access your own workouts on the RP3 Logbook, not those of your athletes')
url = reverse('workout_rp3import_view', kwargs={
'userid': request.user.id})
return HttpResponseRedirect(url)
rp3_integration = RP3Integration(request.user)
result = rp3_integration.get_workout(externalid)
messages.info(request, 'The workout will be imported in the background')
url = reverse('workout_rp3import_view')
return HttpResponseRedirect(url)
@login_required()
def workout_getimportview_old(request, externalid, source='c2', do_async=True):