passing most tests
This commit is contained in:
@@ -59,12 +59,12 @@ class RP3Integration(SyncIntegration):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
rp3ids = workouts_list['id'].values
|
rp3ids = workouts_list['id'].values
|
||||||
workouts_list.set_index('id',inpace=True)
|
workouts_list.set_index('id',inplace=True)
|
||||||
except (KeyError, IndexError):
|
except (KeyError, IndexError):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
knownrp3ids = uniqify([
|
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)
|
dologging('rp3_import.log',rp3ids)
|
||||||
@@ -74,7 +74,7 @@ class RP3Integration(SyncIntegration):
|
|||||||
dologging('rp3_import.log',newids)
|
dologging('rp3_import.log',newids)
|
||||||
|
|
||||||
for id in 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)
|
dologging('rp3_import.log', startdatetime)
|
||||||
|
|
||||||
_ = myqueue(
|
_ = myqueue(
|
||||||
@@ -85,7 +85,7 @@ class RP3Integration(SyncIntegration):
|
|||||||
id,
|
id,
|
||||||
startdatetime,
|
startdatetime,
|
||||||
20,
|
20,
|
||||||
{'timezone':self.rower.defaulttimezone}
|
timezone = self.rower.defaulttimezone
|
||||||
)
|
)
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
@@ -173,7 +173,6 @@ class RP3Integration(SyncIntegration):
|
|||||||
workouts = []
|
workouts = []
|
||||||
|
|
||||||
for key, data in workouts_list.iterrows():
|
for key, data in workouts_list.iterrows():
|
||||||
print(data)
|
|
||||||
try:
|
try:
|
||||||
i = data['id']
|
i = data['id']
|
||||||
except KeyError: # pragma: no cover
|
except KeyError: # pragma: no cover
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import rowers.uploads as uploads
|
|||||||
|
|
||||||
import rowers.polarstuff as polarstuff
|
import rowers.polarstuff as polarstuff
|
||||||
|
|
||||||
import rowers.rp3stuff as rp3stuff
|
|
||||||
|
|
||||||
from rowers.opaque import encoder
|
from rowers.opaque import encoder
|
||||||
from rowers.integrations import *
|
from rowers.integrations import *
|
||||||
@@ -102,7 +101,8 @@ class Command(BaseCommand):
|
|||||||
rowers = Rower.objects.filter(rp3_auto_import=True)
|
rowers = Rower.objects.filter(rp3_auto_import=True)
|
||||||
for r in rowers: # pragma: no cover
|
for r in rowers: # pragma: no cover
|
||||||
if user_is_not_basic(r.user) or user_is_coachee(r.user):
|
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
|
except: # pragma: no cover
|
||||||
exc_type, exc_value, exc_traceback = sys.exc_info()
|
exc_type, exc_value, exc_traceback = sys.exc_info()
|
||||||
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
|
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
|
||||||
|
|||||||
@@ -3245,8 +3245,6 @@ def handle_rp3_async_workout(userid, rp3token, rp3id, startdatetime, max_attempt
|
|||||||
'timezone': timezone,
|
'timezone': timezone,
|
||||||
}
|
}
|
||||||
|
|
||||||
print(uploadoptions)
|
|
||||||
|
|
||||||
session = requests.session()
|
session = requests.session()
|
||||||
newHeaders = {'Content-type': 'application/json', 'Accept': 'text/plain'}
|
newHeaders = {'Content-type': 'application/json', 'Accept': 'text/plain'}
|
||||||
session.headers.update(newHeaders)
|
session.headers.update(newHeaders)
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
@@ -653,8 +653,6 @@ urlpatterns = [
|
|||||||
re_path(r'^workout/nkimport/all/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
re_path(r'^workout/nkimport/all/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
||||||
views.workout_getnkworkout_all,
|
views.workout_getnkworkout_all,
|
||||||
name='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+)/$',
|
re_path(r'^workout/rp3import/user/(?P<userid>\d+)/$',
|
||||||
views.workout_rp3import_view, name='workout_rp3import_view'),
|
views.workout_rp3import_view, name='workout_rp3import_view'),
|
||||||
re_path(r'^workout/rp3import/all/$', views.workout_getrp3workout_all,
|
re_path(r'^workout/rp3import/all/$', views.workout_getrp3workout_all,
|
||||||
|
|||||||
@@ -1540,6 +1540,7 @@ importlistviews = {
|
|||||||
'sporttracks': 'workout_sporttracksimport_view',
|
'sporttracks': 'workout_sporttracksimport_view',
|
||||||
'trainingpeaks': 'workout_view',
|
'trainingpeaks': 'workout_view',
|
||||||
'nk': 'workout_nkimport_view',
|
'nk': 'workout_nkimport_view',
|
||||||
|
'rp3': 'workout_rp3import_view',
|
||||||
}
|
}
|
||||||
|
|
||||||
importauthorizeviews = {
|
importauthorizeviews = {
|
||||||
@@ -1550,6 +1551,7 @@ importauthorizeviews = {
|
|||||||
'sporttracks': 'rower_sporttracks_authorize',
|
'sporttracks': 'rower_sporttracks_authorize',
|
||||||
'trainingpeaks': 'rower_tp_authorize',
|
'trainingpeaks': 'rower_tp_authorize',
|
||||||
'nk': 'rower_nk_authorize',
|
'nk': 'rower_nk_authorize',
|
||||||
|
'rp3': 'rower_rp3_authorize',
|
||||||
}
|
}
|
||||||
|
|
||||||
importsources = {
|
importsources = {
|
||||||
@@ -1560,26 +1562,10 @@ importsources = {
|
|||||||
'sporttracks': SportTracksIntegration,
|
'sporttracks': SportTracksIntegration,
|
||||||
'trainingpeaks': tpstuff,
|
'trainingpeaks': tpstuff,
|
||||||
'nk': NKIntegration,
|
'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()
|
@login_required()
|
||||||
def workout_getimportview_old(request, externalid, source='c2', do_async=True):
|
def workout_getimportview_old(request, externalid, source='c2', do_async=True):
|
||||||
|
|||||||
Reference in New Issue
Block a user