opening analysis for rowers themselves
This commit is contained in:
@@ -208,7 +208,8 @@ class StravaPrivacy(TestCase):
|
||||
|
||||
# throw out "c2import", "nkimport", "stravaimport", "concept2import", "sporttracksimport" from the set
|
||||
workouts = set([w for w in workouts if w not in [
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport']])
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport',
|
||||
'intervalsimport']])
|
||||
|
||||
self.assertEqual(len(workouts),5)
|
||||
|
||||
@@ -230,7 +231,8 @@ class StravaPrivacy(TestCase):
|
||||
|
||||
# throw out "c2import", "nkimport", "stravaimport", "concept2import", "sporttracksimport" from the set
|
||||
workouts = set([w for w in workouts if w not in [
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport']])
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport',
|
||||
'intervalsimport']])
|
||||
|
||||
self.assertEqual(len(workouts),2)
|
||||
|
||||
@@ -251,7 +253,8 @@ class StravaPrivacy(TestCase):
|
||||
|
||||
# throw out "c2import", "nkimport", "stravaimport", "concept2import", "sporttracksimport" from the set
|
||||
workouts = set([w for w in workouts if w not in [
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport']])
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport',
|
||||
'intervalsimport']])
|
||||
|
||||
self.assertEqual(len(workouts),2)
|
||||
|
||||
@@ -272,7 +275,8 @@ class StravaPrivacy(TestCase):
|
||||
|
||||
# throw out "c2import", "nkimport", "stravaimport", "concept2import", "sporttracksimport" from the set
|
||||
workouts = set([w for w in workouts if w not in [
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport']])
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport',
|
||||
'intervalsimport']])
|
||||
|
||||
self.assertEqual(len(workouts),2)
|
||||
|
||||
@@ -293,7 +297,8 @@ class StravaPrivacy(TestCase):
|
||||
|
||||
# throw out "c2import", "nkimport", "stravaimport", "concept2import", "sporttracksimport" from the set
|
||||
workouts = set([w for w in workouts if w not in [
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport']])
|
||||
'upload', 'addmanual', 'c2import', 'polarimport', 'rp3import', 'nkimport', 'stravaimport', 'concept2import', 'sporttracksimport',
|
||||
'intervalsimport']])
|
||||
|
||||
self.assertEqual(len(workouts),2)
|
||||
|
||||
@@ -447,7 +452,8 @@ class StravaPrivacy(TestCase):
|
||||
# print all lines of response.content that contain '<label for="id_workouts_'
|
||||
#print([line for line in response.content.decode('utf-8').split('\n') if '<label for="id_workouts_' in line])
|
||||
#print(form_data['workouts'])
|
||||
self.assertEqual(response.content.count(b'<label for="id_workouts_'),2)
|
||||
#self.assertEqual(response.content.count(b'<label for="id_workouts_'),2) <-- if we forbid the user to use strava workouts
|
||||
self.assertEqual(response.content.count(b'<label for="id_workouts_'),5)
|
||||
|
||||
# get data from histodata function
|
||||
ws = Workout.objects.filter(user=self.r)
|
||||
@@ -460,7 +466,8 @@ class StravaPrivacy(TestCase):
|
||||
self.assertTrue(data.startswith('data = ['))
|
||||
self.assertTrue(data.endswith(']'))
|
||||
# count the number of commas between the brackets
|
||||
self.assertEqual(data.count(','),2062)
|
||||
#self.assertEqual(data.count(','),2062) <-- if we forbid the user to use strava workouts
|
||||
self.assertEqual(data.count(','),5155)
|
||||
|
||||
|
||||
class OwnApi(TestCase):
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
@@ -156,6 +156,8 @@ def do_sync(w, options, quick=False):
|
||||
do_icu_export = False
|
||||
if w.user.intervals_auto_export is True:
|
||||
do_icu_export = True
|
||||
if w.workoutsource == 'strava':
|
||||
do_icu_export = False
|
||||
else:
|
||||
try:
|
||||
do_icu_export = options['upload_to_Intervals']
|
||||
@@ -208,6 +210,8 @@ def do_sync(w, options, quick=False):
|
||||
do_c2_export = False
|
||||
if w.user.c2_auto_export is True:
|
||||
do_c2_export = True
|
||||
if w.workoutsource == 'strava':
|
||||
do_c2_export = False
|
||||
else:
|
||||
try:
|
||||
do_c2_export = options['upload_to_C2'] or do_c2_export
|
||||
@@ -282,6 +286,8 @@ def do_sync(w, options, quick=False):
|
||||
try: # pragma: no cover
|
||||
upload_to_st = options['upload_to_SportTracks'] or do_st_export
|
||||
do_st_export = upload_to_st
|
||||
if w.workoutsource == 'strava':
|
||||
do_st_export = False
|
||||
except KeyError:
|
||||
upload_to_st = False
|
||||
|
||||
@@ -304,6 +310,8 @@ def do_sync(w, options, quick=False):
|
||||
do_tp_export = w.user.trainingpeaks_auto_export
|
||||
try:
|
||||
upload_to_tp = options['upload_to_TrainingPeaks'] or do_tp_export
|
||||
if w.workoutsource == 'strava':
|
||||
do_tp_export = False
|
||||
do_tp_export = upload_to_tp
|
||||
except KeyError:
|
||||
upload_to_st = False
|
||||
|
||||
@@ -48,9 +48,9 @@ def analysis_new(request,
|
||||
firstworkout = get_workout(id)
|
||||
if not is_workout_team(request.user, firstworkout): # pragma: no cover
|
||||
raise PermissionDenied("You are not allowed to use this workout")
|
||||
if workout_is_strava(firstworkout):
|
||||
messages.error(request, "You cannot use Strava workouts for analysis")
|
||||
raise PermissionDenied("You cannot use Strava workouts for analysis")
|
||||
#if workout_is_strava(firstworkout):
|
||||
# messages.error(request, "You cannot use Strava workouts for analysis")
|
||||
# raise PermissionDenied("You cannot use Strava workouts for analysis")
|
||||
firstworkoutquery = Workout.objects.filter(id=encoder.decode_hex(id))
|
||||
|
||||
try:
|
||||
@@ -202,14 +202,14 @@ def analysis_new(request,
|
||||
startdatetime__lte=enddate,
|
||||
workouttype__in=modalities,
|
||||
rankingpiece__in=rankingtypes,
|
||||
).exclude(workoutsource='strava')
|
||||
)#.exclude(workoutsource='strava')
|
||||
elif theteam is not None and theteam.viewing == 'coachonly': # pragma: no cover
|
||||
workouts = Workout.objects.filter(team=theteam, user=r,
|
||||
startdatetime__gte=startdate,
|
||||
startdatetime__lte=enddate,
|
||||
workouttype__in=modalities,
|
||||
rankingpiece__in=rankingtypes,
|
||||
).exclude(workoutsource='strava')
|
||||
)#.exclude(workoutsource='strava')
|
||||
elif thesession is not None:
|
||||
workouts = get_workouts_session(r, thesession)
|
||||
else:
|
||||
@@ -257,7 +257,7 @@ def analysis_new(request,
|
||||
else:
|
||||
selectedworkouts = Workout.objects.filter(id__in=ids)
|
||||
|
||||
form.fields["workouts"].queryset = (workouts | selectedworkouts).exclude(workoutsource='strava')
|
||||
form.fields["workouts"].queryset = (workouts | selectedworkouts)#.exclude(workoutsource='strava')
|
||||
|
||||
optionsform = AnalysisOptionsForm(initial={
|
||||
'modality': modality,
|
||||
@@ -367,10 +367,10 @@ def trendflexdata(workouts, options, userid=0):
|
||||
|
||||
savedata = options.get('savedata',False)
|
||||
|
||||
try:
|
||||
workouts = workouts.exclude(workoutsource='strava')
|
||||
except AttributeError: # pragma: no cover
|
||||
workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
#try:
|
||||
# workouts = workouts.exclude(workoutsource='strava')
|
||||
#except AttributeError: # pragma: no cover
|
||||
# workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
|
||||
fieldlist, fielddict = dataprep.getstatsfields()
|
||||
fieldlist = [xparam, yparam, groupby,
|
||||
@@ -574,10 +574,10 @@ def flexalldata(workouts, options):
|
||||
trendline = options['trendline']
|
||||
promember = True
|
||||
|
||||
try:
|
||||
workouts = workouts.exclude(workoutsource='strava')
|
||||
except AttributeError: # pragma: no cover
|
||||
workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
#try:
|
||||
# workouts = workouts.exclude(workoutsource='strava')
|
||||
#except AttributeError: # pragma: no cover
|
||||
# workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
|
||||
workstrokesonly = not includereststrokes
|
||||
|
||||
@@ -625,10 +625,10 @@ def histodata(workouts, options):
|
||||
workmax = options['workmax']
|
||||
userid = options['userid']
|
||||
|
||||
try:
|
||||
workouts = workouts.exclude(workoutsource='strava')
|
||||
except AttributeError: # pragma: no cover
|
||||
workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
#try:
|
||||
# workouts = workouts.exclude(workoutsource='strava')
|
||||
#except AttributeError: # pragma: no cover
|
||||
# workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
|
||||
|
||||
if userid == 0: # pragma: no cover
|
||||
@@ -818,10 +818,10 @@ def cpdata(workouts, options):
|
||||
|
||||
|
||||
def statsdata(workouts, options):
|
||||
try:
|
||||
workouts = workouts.exclude(workoutsource='strava')
|
||||
except AttributeError: # pragma: no cover
|
||||
workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
#try:
|
||||
# workouts = workouts.exclude(workoutsource='strava')
|
||||
#except AttributeError: # pragma: no cover
|
||||
# workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
|
||||
includereststrokes = options['includereststrokes']
|
||||
ids = options['ids']
|
||||
@@ -897,10 +897,10 @@ def statsdata(workouts, options):
|
||||
|
||||
|
||||
def comparisondata(workouts, options):
|
||||
try:
|
||||
workouts = workouts.exclude(workoutsource='strava')
|
||||
except AttributeError: # pragma: no cover
|
||||
workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
#try:
|
||||
# workouts = workouts.exclude(workoutsource='strava')
|
||||
#except AttributeError: # pragma: no cover
|
||||
# workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
|
||||
includereststrokes = options['includereststrokes']
|
||||
xparam = options['xaxis']
|
||||
@@ -945,10 +945,10 @@ def comparisondata(workouts, options):
|
||||
|
||||
|
||||
def boxplotdata(workouts, options):
|
||||
try:
|
||||
workouts = workouts.exclude(workoutsource='strava')
|
||||
except AttributeError:
|
||||
workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
#try:
|
||||
# workouts = workouts.exclude(workoutsource='strava')
|
||||
#except AttributeError:
|
||||
# workouts = [w for w in workouts if w.workoutsource != 'strava']
|
||||
|
||||
includereststrokes = options['includereststrokes']
|
||||
spmmin = options['spmmin']
|
||||
@@ -1055,8 +1055,9 @@ def analysis_view_data(request, userid=0):
|
||||
for id in ids:
|
||||
try:
|
||||
w = Workout.objects.get(id=id)
|
||||
if w.workoutsource != 'strava':
|
||||
workouts.append(w)
|
||||
#if w.workoutsource != 'strava':
|
||||
# workouts.append(w)
|
||||
workouts.append(w)
|
||||
except Workout.DoesNotExist: # pragma: no cover
|
||||
pass
|
||||
|
||||
@@ -1106,7 +1107,7 @@ def create_marker_workouts_view(request, userid=0,
|
||||
workouts = Workout.objects.filter(user=theuser.rower, date__gte=startdate,
|
||||
date__lte=enddate,
|
||||
workouttype__in=mytypes.rowtypes,
|
||||
duplicate=False).order_by('date').exclude(workoutsource='strava')
|
||||
duplicate=False).order_by('date')#.exclude(workoutsource='strava')
|
||||
|
||||
for workout in workouts:
|
||||
_ = dataprep.check_marker(workout)
|
||||
@@ -1150,7 +1151,7 @@ def goldmedalscores_view(request, userid=0,
|
||||
theuser, startdate=startdate, enddate=enddate,
|
||||
)
|
||||
|
||||
bestworkouts = Workout.objects.filter(id__in=ids).order_by('-date').exclude(workoutsource='strava')
|
||||
bestworkouts = Workout.objects.filter(id__in=ids).order_by('-date')#.exclude(workoutsource='strava')
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
@@ -1348,7 +1349,7 @@ def performancemanager_view(request, userid=0, mode='rower',
|
||||
user = therower, date__gte=startdate-datetime.timedelta(days=90),
|
||||
date__lte=enddate,
|
||||
duplicate=False,
|
||||
rankingpiece=True, workouttype__in=mytypes.rowtypes).order_by('date').exclude(workoutsource='strava')
|
||||
rankingpiece=True, workouttype__in=mytypes.rowtypes).order_by('date')#.exclude(workoutsource='strava')
|
||||
|
||||
ids = [w.id for w in markerworkouts]
|
||||
form = PerformanceManagerForm(initial={
|
||||
@@ -1360,7 +1361,7 @@ def performancemanager_view(request, userid=0, mode='rower',
|
||||
|
||||
ids = pd.Series(ids, dtype='int').dropna().values
|
||||
|
||||
bestworkouts = Workout.objects.filter(id__in=ids).order_by('-date').exclude(workoutsource='strava')
|
||||
bestworkouts = Workout.objects.filter(id__in=ids).order_by('-date')#.exclude(workoutsource='strava')
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user