diff --git a/rowers/views/errorviews.py b/rowers/views/errorviews.py
index 7117ce55..945cffd5 100644
--- a/rowers/views/errorviews.py
+++ b/rowers/views/errorviews.py
@@ -1,45 +1,30 @@
from rowers.views.statements import *
-from django.core.exceptions import PermissionDenied
-from django.http import HttpResponse
-from django.test import SimpleTestCase, override_settings
-from django.urls import path
-
def servererror_view(request): # pragma: no cover
raise ValueError
-# Custom error pages with Rowsandall headers
-
def error500_view(request):
response = render(request, '500.html', {}, status=500)
-# context_instance = RequestContext(request))
-
response.status_code = 500
return response
def error404_view(request, exception):
response = render(request, '404.html', {}, status=404)
-# context_instance = RequestContext(request))
-
response.status_code = 404
return response
def error400_view(request, exception):
response = render(request, '400.html', {}, status=400)
-# context_instance = RequestContext(request))
-
response.status_code = 400
return response
def error403_view(request, *args, **kwargs): # pragma: no cover
response = render(request, '403.html', {}, status=403)
-# context_instance = RequestContext(request))
-
response.status_code = 403
return response
diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py
index a461524f..8bf4efd1 100644
--- a/rowers/views/racesviews.py
+++ b/rowers/views/racesviews.py
@@ -138,8 +138,6 @@ def course_map_view(request, id=0):
def course_delete_view(request, id=0):
course = get_object_or_404(GeoCourse, pk=id)
- r = getrower(request.user)
-
ps = PlannedSession.objects.filter(course=course)
nosessions = len(ps) == 0
@@ -590,7 +588,7 @@ def course_update_confirm(request, id=0, newid=0):
if form.is_valid():
doupdate = form.cleaned_data['doupdate']
if doupdate:
- res = courses.replacecourse(course, course2)
+ _ = courses.replacecourse(course, course2)
messages.info(
request, 'All challenges with this course are updated')
url = reverse(course_view,
@@ -711,10 +709,6 @@ def course_upload_view(request):
@login_required()
def standard_deactivate_view(request, id=0):
- is_ajax = request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
-
- r = getrower(request.user)
-
try:
collection = StandardCollection.objects.get(id=id)
except StandardCollection.DoesNotExist: # pragma: no cover
@@ -758,7 +752,6 @@ def standards_download_view(request, id=0):
@login_required()
def standards_upload_view(request, id=0):
is_ajax = request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
- r = getrower(request.user)
if id != 0: # pragma: no cover
collection = StandardCollection.objects.get(id=id)
@@ -984,9 +977,9 @@ def virtualevent_disqualify_view(request, id=0, recordid=0):
r = Rower.objects.get(id=record.userid)
name = record.username
- job = myqueue(queue, handle_send_disqualification_email,
- r.user.email, name,
- disqualifier, message, race.name)
+ _ = myqueue(queue, handle_send_disqualification_email,
+ r.user.email, name,
+ disqualifier, message, race.name)
messages.info(
request, "We have invalidated the result for: "+str(record))
@@ -1098,6 +1091,7 @@ def virtualevent_disqualify_view(request, id=0, recordid=0):
'mapdiv': mapdiv,
'form': form,
'race': race,
+ 'breadcrumbs': breadcrumbs,
'record': record,
})
@@ -1140,9 +1134,9 @@ def virtualevent_withdrawresult_view(request, id=0, recordid=0):
r = Rower.objects.get(id=record.userid)
name = record.username
- job = myqueue(queue, handle_send_withdraw_email,
- r.user.email, name,
- disqualifier, message, race.name)
+ _ = myqueue(queue, handle_send_withdraw_email,
+ r.user.email, name,
+ disqualifier, message, race.name)
messages.info(
request, "We have invalidated the result for: "+str(record))
@@ -1252,6 +1246,7 @@ def virtualevent_withdrawresult_view(request, id=0, recordid=0):
'mapdiv': mapdiv,
'form': form,
'race': race,
+ 'breadcrumbs': breadcrumbs,
'record': record,
})
@@ -1473,8 +1468,6 @@ def do_encode(x):
@login_required()
@permission_required('virtualevent.change_race', fn=get_virtualevent_by_pk, raise_exception=True)
def virtualevent_results_download_view(request, id=0):
- r = getrower(request.user)
-
try:
race = VirtualRace.objects.get(id=id)
except VirtualRace.DoesNotExist: # pragma: no cover
@@ -1538,12 +1531,6 @@ def virtualevent_ranking_view(request, id=0):
workoutid__isnull=True,
)
- dnf = resultobj.objects.filter(
- race=race,
- workoutid__isnull=False,
- coursecompleted=False,
- )
-
if not request.user.is_anonymous:
if race_can_register(r, race): # pragma: no cover
buttons += ['registerbutton']
@@ -1745,8 +1732,6 @@ def virtualevent_addboat_view(request, id=0):
boattypes = [record.boattype for record in records]
boatclasses = [record.boatclass for record in records]
- allowedboats = tuple(
- [type for type in mytypes.boattypes if type[0] not in boattypes])
# we're still here
if request.method == 'POST':
@@ -1821,7 +1806,6 @@ def virtualevent_addboat_view(request, id=0):
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
- skillclass = coursestandard.skillclass
returnurl = reverse(virtualevent_register_view,
kwargs={'id': race.id})
@@ -1873,7 +1857,7 @@ def virtualevent_addboat_view(request, id=0):
# send email about opt out
if not acceptsocialmedia:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_optout,
race.manager.email, race.manager.first_name,
@@ -1895,7 +1879,7 @@ def virtualevent_addboat_view(request, id=0):
othername = otheruser.user.first_name+' '+otheruser.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
if otherrecord.emailnotifications:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_raceregistration,
otheruser.user.email, othername,
@@ -1915,7 +1899,7 @@ def virtualevent_addboat_view(request, id=0):
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_raceregistration,
email, othername,
@@ -2074,7 +2058,6 @@ def virtualevent_register_view(request, id=0):
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
- skillclass = coursestandard.skillclass
returnurl = reverse(virtualevent_register_view,
kwargs={'id': race.id})
@@ -2125,7 +2108,7 @@ def virtualevent_register_view(request, id=0):
add_rower_race(r, race)
# send email about opt out
if not acceptsocialmedia:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_optout,
race.manager.email, race.manager.first_name,
@@ -2148,7 +2131,7 @@ def virtualevent_register_view(request, id=0):
othername = otheruser.user.first_name+' '+otheruser.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
if otherrecord.emailnotifications:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_raceregistration,
otheruser.user.email, othername,
@@ -2168,7 +2151,7 @@ def virtualevent_register_view(request, id=0):
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_raceregistration,
email, othername,
@@ -2361,7 +2344,6 @@ def indoorvirtualevent_register_view(request, id=0):
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
- skillclass = coursestandard.skillclass
returnurl = reverse(virtualevent_register_view,
kwargs={'id': race.id})
@@ -2412,7 +2394,7 @@ def indoorvirtualevent_register_view(request, id=0):
# send email about opt out
if not acceptsocialmedia:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_optout,
race.manager.email, race.manager.first_name,
@@ -2435,7 +2417,7 @@ def indoorvirtualevent_register_view(request, id=0):
othername = otheruser.user.first_name+' '+otheruser.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
if otherrecord.emailnotifications:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_raceregistration,
otheruser.user.email, othername,
@@ -2455,7 +2437,7 @@ def indoorvirtualevent_register_view(request, id=0):
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_raceregistration,
email, othername,
@@ -3197,8 +3179,15 @@ def virtualevent_submit_result_view(request, id=0, workoutid=0):
)
if records.count() == 0: # pragma: no cover
- hasinitial, boattype, boatclass, adaptiveclass, weightclass, sex, referencespeed, initialcategory = default_class(
- r, None, race)
+ (
+ hasinitial,
+ boattype,
+ boatclass,
+ adaptiveclass,
+ weightclass,
+ sex,
+ referencespeed,
+ initialcategory) = default_class(r, None, race)
if not hasinitial:
messages.error(request, "Sorry, you have to register first")
url = reverse('virtualevent_view',
@@ -3314,7 +3303,9 @@ def virtualevent_submit_result_view(request, id=0, workoutid=0):
request.session['async_tasks'] = [(jobid, 'submit_race')]
messages.info(
- request, "We are evaluating your result. The page will reload when we're done. Your result will show up if you adhered to the course")
+ request, "We are evaluating your result."
+ " The page will reload when we're done. Your result will show up if you adhered"
+ " to the course")
if result:
otherrecords = resultobj.objects.filter(
@@ -3328,7 +3319,7 @@ def virtualevent_submit_result_view(request, id=0, workoutid=0):
othername = otheruser.user.first_name+' '+otheruser.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
if otherrecord.emailnotifications:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_racesubmission,
otheruser.user.email, othername,
@@ -3348,7 +3339,7 @@ def virtualevent_submit_result_view(request, id=0, workoutid=0):
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_racesubmission,
email, othername,
@@ -3577,7 +3568,6 @@ def virtualevent_entry_edit_view(request, id=0, entryid=0):
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
- skillclass = coursestandard.skillclass
if age < coursestandard.agemin: # pragma: no cover
messages.error(
diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py
index 4ff5545e..d7d36255 100644
--- a/rowers/views/userviews.py
+++ b/rowers/views/userviews.py
@@ -106,9 +106,9 @@ def remove_user(request):
PlannedSession.objects.filter(manager=user).delete()
user.delete()
- res = myqueue(queuehigh,
- handle_sendemail_userdeleted,
- name, email)
+ _ = myqueue(queuehigh,
+ handle_sendemail_userdeleted,
+ name, email)
url = '/logout/?next=/login'
# url = reverse(auth_views.logout_then_login)
@@ -128,7 +128,6 @@ def survey(request): # pragma: no cover
surveyform = SurveyForm()
if request.method == 'POST':
- form = SurveyForm(request.POST)
r.surveydone = True
r.surveydonedate = timezone.now()
r.save()
@@ -221,7 +220,6 @@ def start_plantrial_view(request):
@permission_required('rower.is_coach', fn=get_user_by_userid, raise_exception=True)
def rower_favoritecharts_view(request, userid=0):
message = ''
- successmessage = ''
r = getrequestrowercoachee(request, userid=userid, notpermanent=True)
staticchartform = StaticChartRowerForm(instance=r)
@@ -304,7 +302,6 @@ def rower_favoritecharts_view(request, userid=0):
with transaction.atomic():
FavoriteChart.objects.filter(user=r).delete()
FavoriteChart.objects.bulk_create(new_instances)
- successmessage = "You have updated your favorites"
messages.info(request, message)
if len(new_instances) == 0:
FavoriteChartFormSet = formset_factory(
@@ -352,13 +349,14 @@ def rower_exportsettings_view(request, userid=0):
cd = form.cleaned_data
if r.rowerplan == 'basic': # pragma: no cover
messages.error(
- request, 'These settings can only be set if you are a user on one of the paid plans.')
+ request, 'These settings can only be set if you are a user" \
+ " on one of the paid plans.')
for attr, value in cd.items():
doset = True
try:
tokenname = attrtokens[attr]
- if getattr(r, tokenname) == '' or getattr(r, tokenname) == None:
+ if getattr(r, tokenname) == '' or getattr(r, tokenname) is None:
doset = False
except KeyError:
doset = True
@@ -519,8 +517,6 @@ def rower_edit_view(request, rowerid=0, userid=0, message=""):
def rower_prefs_view(request, userid=0, message=""):
r = getrequestrowercoachee(request, userid=userid, notpermanent=True)
- rowerid = r.id
-
breadcrumbs = [
{
'url': '/rowers/me/edit/',
@@ -636,8 +632,8 @@ def rower_prefs_view(request, userid=0, message=""):
r.kfatigue = kfatigue
r.save()
messages.info(request, 'Updated CP range and time decay constants')
- success = dataprep.update_rolling_cp(r, mytypes.otwtypes, 'water')
- success = dataprep.update_rolling_cp(r, mytypes.otetypes, 'erg')
+ _ = dataprep.update_rolling_cp(r, mytypes.otwtypes, 'water')
+ _ = dataprep.update_rolling_cp(r, mytypes.otetypes, 'erg')
return render(request, 'rower_preferences.html',
{
@@ -665,10 +661,10 @@ def rower_revokeapp_view(request, id=0): # pragma: no cover
for token in refreshtokens:
token.revoke()
- r = getrower(request.user)
- form = RowerForm(instance=r)
- powerform = RowerPowerForm(instance=r)
- grants = AccessToken.objects.filter(user=request.user)
+ # r = getrower(request.user)
+ # form = RowerForm(instance=r)
+ # powerform = RowerPowerForm(instance=r)
+ # grants = AccessToken.objects.filter(user=request.user)
url = reverse('rower_edit_view')
return HttpResponseRedirect(url)
except AccessToken.DoesNotExist:
@@ -749,7 +745,9 @@ def rower_update_empower_view(
except KeyError:
request.session['async_tasks'] = [(job.id, 'update_empower')]
- successmessage = 'Your workouts are being updated in the background. You will receive email when this is done. You can check the status of your calculations here'
+ successmessage = 'Your workouts are being updated in the background." \
+ " You will receive email when this is done. You can check the status" \
+ " of your calculations here'
messages.info(request, successmessage)
diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py
index 11b1a8ef..da4ee4fd 100644
--- a/rowers/views/workoutviews.py
+++ b/rowers/views/workoutviews.py
@@ -1,9 +1,6 @@
-
-import hashlib
from shutil import copyfile
-from six import iterlists
from rowers.views.statements import *
-import rowers.teams as teams
+
import rowers.mytypes as mytypes
import numpy
import rowers.uploads as uploads
@@ -16,7 +13,6 @@ from json.decoder import JSONDecodeError
import ruptures as rpt
from rowers.courses import getnearestraces, getnearestcourses
-
def default(o): # pragma: no cover
if isinstance(o, numpy.int64):
return int(o)
@@ -325,7 +321,9 @@ def workout_video_create_view(request, id=0):
return HttpResponseRedirect(url)
except IntegrityError: # pragma: no cover
messages.error(
- request, 'You cannot save two video analysis with the same YouTube video and Workout. Redirecting to your existing analysis')
+ request,
+ 'You cannot save two video analysis with the same YouTube video and Workout." \
+ " Redirecting to your existing analysis')
analysis = VideoAnalysis.objects.filter(
workout=w, video_id=video_id)
if analysis:
@@ -405,17 +403,16 @@ def workout_video_create_view(request, id=0):
@user_passes_test(ispromember, login_url="/rowers/paidplans/",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
def workout_forcecurve_view(request, id=0, workstrokesonly=False):
row = get_workoutuser(id, request)
- promember = 0
mayedit = 0
r = getrequestrower(request)
- promember = 1
if r == row.user:
mayedit = 1
@@ -526,7 +523,6 @@ def otw_use_gps(request, id=0):
def workout_histo_view(request, id=0):
w = get_workoutuser(id, request)
r = getrequestrower(request)
- promember = 1
mayedit = 0
if w.user == r:
@@ -612,7 +608,6 @@ def addmanual_view(request, raceid=0):
avgpwr = metricsform.cleaned_data['avgpwr']
avgspm = metricsform.cleaned_data['avgspm']
- #ps = form.cleaned_data.get('plannedsession',None)
boattype = form.cleaned_data.get('boattype', '1x')
privacy = form.cleaned_data.get('privacy', 'visible')
rankingpiece = form.cleaned_data.get('rankingpiece', False)
@@ -656,7 +651,6 @@ def addmanual_view(request, raceid=0):
w.weightcategory = weightcategory
w.adaptiveclass = adaptiveclass
w.notes = notes
- #w.plannedsession = ps
w.name = name
w.rpe = rpe
w.workouttype = workouttype
@@ -735,7 +729,7 @@ def addmanual_view(request, raceid=0):
othername = otheruser.user.first_name+' '+otheruser.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
if otherrecord.emailnotifications:
- job = myqueue(
+ _ = myqueue(
queue,
handle_sendemail_racesubmission,
otheruser.user.email, othername,
@@ -815,18 +809,12 @@ def workout_recalcsummary_view(request, id=0):
# Joining workout
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
@permission_required('rower.is_coach', fn=get_user_by_userid, raise_exception=True)
def workouts_join_view(request, userid=0):
- promember = 0
-
r = getrequestrower(request, userid=userid)
- if not request.user.is_anonymous:
- r = getrower(request.user)
- result = request.user.is_authenticated and ispromember(request.user)
- if result:
- promember = 1
if request.method == 'POST' and 'workouts' in request.POST:
form = WorkoutMultipleCompareForm(request.POST)
@@ -887,17 +875,10 @@ def video_selectworkout(request, userid=0):
options = defaultoptions
options['userid'] = userid
- try:
- workouttypes = options['workouttypes']
- except KeyError: # pragma: no cover
- workouttypes = ['rower', 'dynamic', 'slides']
-
try: # pragma: no cover
modalities = options['modalities']
- modality = modalities[0]
except KeyError: # pragma: no cover
modalities = [m[0] for m in mytypes.workouttypes_ordered.items()]
- modality = 'all'
query = request.GET.get('q')
if query: # pragma: no cover
@@ -944,8 +925,6 @@ def video_selectworkout(request, userid=0):
url = reverse('workout_video_create_view',
kwargs={'id': encoder.encode_hex(selectedworkout.id)})
return HttpResponseRedirect(url)
- else: # pragma: no cover
- id = 0
else:
form = WorkoutSingleSelectForm(workouts=workouts)
thediv = ''
@@ -1020,7 +999,8 @@ def video_selectworkout(request, userid=0):
@permission_required('rower.is_coach', fn=get_user_by_userid, raise_exception=True)
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
def workouts_join_select(request,
startdatestring="",
@@ -1085,8 +1065,6 @@ def workouts_join_select(request,
startdate = datetime.datetime.combine(startdate, datetime.time())
enddate = datetime.datetime.combine(enddate, datetime.time(23, 59, 59))
- #enddate = enddate+datetime.timedelta(days=1)
-
if startdatestring:
startdate = iso8601.parse_date(startdatestring)
if enddatestring:
@@ -1107,10 +1085,11 @@ def workouts_join_select(request,
except ValueError:
pass
- workouts = Workout.objects.filter(user=r,
- startdatetime__gte=startdate,
- startdatetime__lte=enddate,
- workouttype__in=modalities).order_by("-date", "-starttime").exclude(boattype__in=negtypes)
+ workouts = Workout.objects.filter(
+ user=r,
+ startdatetime__gte=startdate,
+ startdatetime__lte=enddate,
+ workouttype__in=modalities).order_by("-date", "-starttime").exclude(boattype__in=negtypes)
query = request.GET.get('q')
if query: # pragma: no cover
@@ -1204,7 +1183,7 @@ def remove_power_view(request, id=0):
row = rdata(csvfile=f, rower=rr)
row.df[' Power (watts)'] = 0
row.write_csv(f)
- res = dataprep.dataprep(row.df, id=workout.id)
+ _ = dataprep.dataprep(row.df, id=workout.id)
cpdf, delta, cpvalues = dataprep.setcp(workout)
workout.normp = 0
@@ -1224,7 +1203,8 @@ def remove_power_view(request, id=0):
@user_passes_test(ispromember, login_url='/rowers/paidplans/',
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
def course_mapcompare_view(request, id=0):
results = []
@@ -1494,7 +1474,6 @@ def course_compare_view(request, id=0):
xparam = chartform.cleaned_data['xparam']
yparam = chartform.cleaned_data['yparam']
plottype = chartform.cleaned_data['plottype']
- teamid = chartform.cleaned_data['teamid']
ids = [int(w.id) for w in workouts]
request.session['ids'] = ids
elif request.method == 'POST': # pragma: no cover
@@ -1508,7 +1487,6 @@ def course_compare_view(request, id=0):
xparam = chartform.cleaned_data['xparam']
yparam = chartform.cleaned_data['yparam']
plottype = chartform.cleaned_data['plottype']
- teamid = chartform.cleaned_data['teamid']
try:
workoutids = request.session['ids']
except KeyError: # pragma: no cover
@@ -1674,7 +1652,6 @@ def virtualevent_compare_view(request, id=0):
xparam = chartform.cleaned_data['xparam']
yparam = chartform.cleaned_data['yparam']
plottype = chartform.cleaned_data['plottype']
- teamid = chartform.cleaned_data['teamid']
ids = [int(w.id) for w in workouts]
request.session['ids'] = ids
elif request.method == 'POST':
@@ -1688,7 +1665,6 @@ def virtualevent_compare_view(request, id=0):
xparam = chartform.cleaned_data['xparam']
yparam = chartform.cleaned_data['yparam']
plottype = chartform.cleaned_data['plottype']
- teamid = chartform.cleaned_data['teamid']
try:
workoutids = request.session['ids']
except KeyError: # pragma: no cover
@@ -1758,8 +1734,6 @@ def virtualevent_compare_view(request, id=0):
@permission_required('plannedsession.view_session',
fn=get_session_by_pk, raise_exception=True)
def plannedsession_compare_view(request, id=0, userid=0):
- r = getrequestrower(request, userid=userid)
-
try:
ps = PlannedSession.objects.get(id=id)
except PlannedSession.DoesNotExist: # pragma: no cover
@@ -1769,10 +1743,6 @@ def plannedsession_compare_view(request, id=0, userid=0):
ids = [int(w.id) for w in workouts]
- labeldict = {
- int(w.id): w.__str__() for w in workouts
- }
-
xparam = 'time'
yparam = 'hr'
plottype = 'line'
@@ -1783,8 +1753,6 @@ def plannedsession_compare_view(request, id=0, userid=0):
request.session['plottype'] = plottype
request.session['ps'] = ps.id
- teams = ps.team.all()
-
if ids:
url = reverse('analysis_new',
kwargs={
@@ -1832,16 +1800,12 @@ def workouts_view(request, message='', successmessage='',
startdate, datetime.time()).astimezone(usertimezone)
enddate = datetime.datetime.combine(
enddate, datetime.time(23, 59, 59)).astimezone(usertimezone)
- #enddate = enddate+datetime.timedelta(days=1)
if enddate < startdate: # pragma: no cover
s = enddate
enddate = startdate
startdate = s
- startdatestring = startdate.strftime('%Y-%m-%d')
- enddatestring = enddate.strftime('%Y-%m-%d')
-
# start date for the small graph
activity_startdate = enddate-datetime.timedelta(days=15)
@@ -1926,7 +1890,7 @@ def workouts_view(request, message='', successmessage='',
workoutsnohr = workouts.exclude(averagehr__isnull=False)
for w in workoutsnohr: # pragma: no cover
- res = dataprep.workout_trimp(w)
+ _ = dataprep.workout_trimp(w)
# ids = [w.id for w in workouts]
# df = dataprep.getsmallrowdata_db(['time','power'],ids=ids)
@@ -2013,7 +1977,8 @@ def workouts_view(request, message='', successmessage='',
# List of workouts to compare a selected workout to
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
def workout_fusion_list(request, id=0,
@@ -2036,7 +2001,6 @@ def workout_fusion_list(request, id=0,
startdate = datetime.datetime.combine(startdate, datetime.time())
enddate = datetime.datetime.combine(enddate, datetime.time(23, 59, 59))
- #enddate = enddate+datetime.timedelta(days=1)
startdate = arrow.get(startdate).datetime
enddate = arrow.get(enddate).datetime
@@ -2148,8 +2112,6 @@ def workout_view(request, id=0, raceresult=0, sessionresult=0, nocourseraceresul
result = CourseTestResult.objects.get(id=sessionresult)
startsecond = result.startsecond
endsecond = result.endsecond
- duration = row.duration
- durationsecs = duration.hour*3600+duration.minute*60+duration.second
itime = [startsecond, endsecond-startsecond]
itype = [3, 4]
intervaldata['itime'] = itime
@@ -2167,8 +2129,6 @@ def workout_view(request, id=0, raceresult=0, sessionresult=0, nocourseraceresul
result = IndoorVirtualRaceResult.objects.get(id=nocourseraceresult)
startsecond = result.startsecond
endsecond = result.endsecond
- duration = row.duration
- durationsecs = duration.hour*3600+duration.minute*60+duration.second
itime = [startsecond, endsecond-startsecond]
itype = [3, 4]
intervaldata['itime'] = itime
@@ -2186,8 +2146,6 @@ def workout_view(request, id=0, raceresult=0, sessionresult=0, nocourseraceresul
result = VirtualRaceResult.objects.get(id=raceresult)
startsecond = result.startsecond
endsecond = result.endsecond
- duration = row.duration
- durationsecs = duration.hour*3600+duration.minute*60+duration.second
itime = [startsecond, endsecond-startsecond]
itype = [3, 4]
intervaldata['itime'] = itime
@@ -2280,7 +2238,8 @@ def workout_view(request, id=0, raceresult=0, sessionresult=0, nocourseraceresul
# Resets stroke data to raw data (pace)
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
def workout_undo_smoothenpace_view(
request, id=0, message="", successmessage=""
@@ -2312,7 +2271,8 @@ def workout_undo_smoothenpace_view(
# Data smoothing of pace data
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality.",
redirect_field_name=None)
def workout_smoothenpace_view(request, id=0, message="", successmessage=""):
row = get_workoutuser(id, request)
@@ -2342,7 +2302,7 @@ def workout_smoothenpace_view(request, id=0, message="", successmessage=""):
return HttpResponseRedirect(url)
- if not 'originalvelo' in row.df:
+ if 'originalvelo' not in row.df:
row.df['originalvelo'] = velo
velo2 = stravastuff.ewmovingaverage(velo, 5)
@@ -2374,7 +2334,8 @@ def workout_smoothenpace_view(request, id=0, message="", successmessage=""):
# Get weather for given location and date/time
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
def workout_downloadwind_view(request, id=0,
airportcode=None,
@@ -2389,7 +2350,7 @@ def workout_downloadwind_view(request, id=0,
return HttpResponse("Error: CSV Data File Not Found")
try:
- bearing = rowdata.df.loc[:, 'bearing'].values
+ _ = rowdata.df.loc[:, 'bearing'].values
except KeyError:
rowdata.add_bearing()
rowdata.write_csv(f1, gzip=True)
@@ -2399,13 +2360,8 @@ def workout_downloadwind_view(request, id=0,
try:
avglat = rowdata.df[' latitude'].mean()
avglon = rowdata.df[' longitude'].mean()
- avgtime = int(rowdata.df['TimeStamp (sec)'].mean(
- )-rowdata.df.loc[:, 'TimeStamp (sec)'].iloc[0])
- startdatetime = dateutil.parser.parse("{}, {}".format(row.date,
- row.starttime))
-
+ avgtime = int(rowdata.df['TimeStamp (sec)'].mean()-rowdata.df.loc[:, 'TimeStamp (sec)'].iloc[0])
starttimeunix = int(arrow.get(row.startdatetime).timestamp())
- #starttimeunix = int(mktime(startdatetime.utctimetuple()))
avgtime = starttimeunix+avgtime
winddata = get_wind_data(avglat, avglon, avgtime)
windspeed = winddata[0]
@@ -2444,7 +2400,11 @@ def workout_downloadwind_view(request, id=0,
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
-@user_passes_test(ispromember, login_url="/rowers/paidplans", message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality", redirect_field_name=None)
+@user_passes_test(ispromember,
+ login_url="/rowers/paidplans",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
+ redirect_field_name=None)
def workout_downloadmetar_view(request, id=0,
airportcode=None,
message="", successmessage=""):
@@ -2458,7 +2418,7 @@ def workout_downloadmetar_view(request, id=0,
return HttpResponse("Error: CSV Data File Not Found")
try:
- bearing = rowdata.df.loc[:, 'bearing'].values
+ _ = rowdata.df.loc[:, 'bearing'].values
except KeyError:
rowdata.add_bearing()
rowdata.write_csv(f1, gzip=True)
@@ -2470,11 +2430,8 @@ def workout_downloadmetar_view(request, id=0,
airportcode = get_airport_code(avglat, avglon)[0]
avgtime = int(rowdata.df['TimeStamp (sec)'].mean(
)-rowdata.df.loc[:, 'TimeStamp (sec)'].iloc[0])
- startdatetime = dateutil.parser.parse("{}, {}".format(row.date,
- row.starttime))
starttimeunix = arrow.get(row.startdatetime).timestamp()
- #starttimeunix = int(mktime(startdatetime.utctimetuple()))
avgtime = starttimeunix + avgtime
winddata = get_metar_data(airportcode, avgtime)
windspeed = winddata[0]
@@ -2513,7 +2470,11 @@ def workout_downloadmetar_view(request, id=0,
# Show form to update wind data
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
-@user_passes_test(ispromember, login_url="/rowers/paidplans", message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality", redirect_field_name=None)
+@user_passes_test(ispromember,
+ login_url="/rowers/paidplans",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
+ redirect_field_name=None)
def workout_wind_view(request, id=0, message="", successmessage=""):
row = get_workoutuser(id, request)
r = getrower(request.user)
@@ -2553,7 +2514,7 @@ def workout_wind_view(request, id=0, message="", successmessage=""):
hascoordinates = 0
try:
- bearing = rowdata.df.loc[:, 'bearing'].values
+ _ = rowdata.df.loc[:, 'bearing'].values
except KeyError:
rowdata.add_bearing()
rowdata.write_csv(f1, gzip=True)
@@ -2598,7 +2559,7 @@ def workout_wind_view(request, id=0, message="", successmessage=""):
'id': id
}
url = reverse('workout_wind_view', kwargs=kwargs)
- response = HttpResponseRedirect(url)
+ _ = HttpResponseRedirect(url)
else:
form = UpdateWindForm()
@@ -2638,7 +2599,11 @@ def workout_wind_view(request, id=0, message="", successmessage=""):
# Show form to update River stream data (for river dwellers)
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
-@user_passes_test(ispromember, login_url="/rowers/paidplans", message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality", redirect_field_name=None)
+@user_passes_test(ispromember,
+ login_url="/rowers/paidplans",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
+ redirect_field_name=None)
def workout_stream_view(request, id=0, message="", successmessage=""):
row = get_workoutuser(id, request)
r = getrower(request.user)
@@ -2678,7 +2643,7 @@ def workout_stream_view(request, id=0, message="", successmessage=""):
kwargs = {
'id': id}
url = reverse('workout_wind_view', kwargs=kwargs)
- response = HttpResponseRedirect(url)
+ _ = HttpResponseRedirect(url)
else:
form = UpdateStreamForm()
@@ -2733,8 +2698,6 @@ def workout_otwsetpower_view(request, id=0, message="", successmessage=""):
form = AdvancedWorkoutForm(request.POST)
if form.is_valid():
- #quick_calc = form.cleaned_data['quick_calc']
- #go_service = form.cleaned_data['go_service']
boattype = form.cleaned_data['boattype']
weightvalue = form.cleaned_data['weightvalue']
coastalbrand = form.cleaned_data['boatbrand']
@@ -2750,19 +2713,19 @@ def workout_otwsetpower_view(request, id=0, message="", successmessage=""):
if rowdata == 0: # pragma: no cover
return HttpResponse("Error: CSV Data File Not Found")
try:
- vstream = rowdata.df['vstream']
+ _ = rowdata.df['vstream']
except KeyError:
rowdata.add_stream(0)
rowdata.write_csv(f1, gzip=True)
try:
- bearing = rowdata.df['bearing']
+ _ = rowdata.df['bearing']
except KeyError:
rowdata.add_bearing()
rowdata.write_csv(f1, gzip=True)
try:
- vwind = rowdata.df['vwind']
+ _ = rowdata.df['vwind']
except KeyError:
rowdata.add_wind(0, 0)
rowdata.write_csv(f1, gzip=True)
@@ -2792,7 +2755,10 @@ def workout_otwsetpower_view(request, id=0, message="", successmessage=""):
except KeyError:
request.session['async_tasks'] = [(job.id, 'otwsetpower')]
- successmessage = 'Your calculations have been submitted. You will receive an email when they are done. You can check the status of your calculations here'
+ successmessage = 'Your calculations have been submitted." \
+ " You will receive an email when they are done." \
+ " You can check the status of your calculations" \
+ " here'
messages.info(request, successmessage)
kwargs = {
'id': id}
@@ -2868,14 +2834,10 @@ def instroke_view(request, id=0):
]
-# form = WorkoutForm(instance=row)
- g = GraphImage.objects.filter(workout=w).order_by("-creationdatetime")
- # check if user is owner of this workout
-
rowdata = rrdata(csvfile=w.csvfilename)
try:
instrokemetrics = rowdata.get_instroke_columns()
- instrokemetrics = [m for m in instrokemetrics if not m in nometrics]
+ instrokemetrics = [m for m in instrokemetrics if m not in nometrics]
except AttributeError: # pragma: no cover
instrokemetrics = []
@@ -2906,7 +2868,6 @@ def instroke_chart(request, id=0, metric=''): # pragma: no cover
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = getrower(u)
- title = w.name
fig1 = rowdata.get_plot_instroke(metric)
canvas = FigureCanvas(fig1)
canvas.print_figure('static/plots/'+imagename)
@@ -2968,7 +2929,7 @@ def workout_erase_column_view(request, id=0, column=''):
return HttpResponseRedirect(url)
try:
- cdata = data[column]
+ _ = data[column]
except KeyError: # pragma: no cover
url = reverse('workout_data_view', kwargs={
'id': encoder.encode_hex(w.id)
@@ -3019,7 +2980,7 @@ def workout_erase_column_view(request, id=0, column=''):
row.write_csv(w.csvfilename, gzip=True)
row, workout = dataprep.getrowdata(id=w.id)
- datadf = dataprep.dataprep(row.df, id=w.id)
+ _ = dataprep.dataprep(row.df, id=w.id)
if column == 'hr':
w.hrtss = 0
@@ -3067,6 +3028,7 @@ def workout_erase_column_view(request, id=0, column=''):
'column': column,
'teams': get_my_teams(request.user),
'workout': w,
+ 'rower': r,
'breadcrumbs': breadcrumbs,
}
@@ -3210,9 +3172,6 @@ def workout_data_view(request, id=0):
except (TypeError, KeyError):
pass
- # pd.set_option('display.width', 1000)
- #pd.set_option('colheader_justify', 'left')
-
htmltable = datadf.to_html(
bold_rows=True,
show_dimensions=True, border=1,
@@ -3226,6 +3185,7 @@ def workout_data_view(request, id=0):
'data': datadf,
'cols': datadf.columns,
'form': form,
+ 'rower': r,
'teams': get_my_teams(request.user),
'workout': w,
'breadcrumbs': breadcrumbs,
@@ -3281,11 +3241,11 @@ def workout_stats_view(request, id=0, message="", successmessage=""):
if datadf.empty:
return HttpResponse("CSV data file not found")
- #datadf['deltat'] = datadf['time'].diff()
+ # datadf['deltat'] = datadf['time'].diff()
- workoutstateswork = [1, 4, 5, 8, 9, 6, 7]
- workoutstatesrest = [3]
- workoutstatetransition = [0, 2, 10, 11, 12, 13]
+ # workoutstateswork = [1, 4, 5, 8, 9, 6, 7]
+ # workoutstatesrest = [3]
+ # workoutstatetransition = [0, 2, 10, 11, 12, 13]
# Create stats
stats = {}
@@ -3463,7 +3423,7 @@ def workout_workflow_config2_view(request, userid=0):
if value != 'None':
newmiddlepanel.append(value)
- newmiddlepanel = [i for i in newmiddlepanel if i != None]
+ newmiddlepanel = [i for i in newmiddlepanel if i is not None]
r.workflowmiddlepanel = newmiddlepanel
try:
r.save()
@@ -3496,12 +3456,6 @@ def workout_workflow_view(request, id):
row = get_workout_by_opaqueid(request, id)
r = getrower(request.user)
- result = request.user.is_authenticated and ispromember(request.user)
- if result:
- promember = 1
- if request.user == row.user.user:
- mayedit = 1
-
comments = WorkoutComment.objects.filter(workout=row)
aantalcomments = len(comments)
@@ -3614,7 +3568,7 @@ def workout_flexchart3_view(request, *args, **kwargs):
# check if favoritenr is not out of range
if favorites:
try:
- t = favorites[favoritenr].xparam
+ _ = favorites[favoritenr].xparam
except IndexError: # pragma: no cover
favoritenr = 0
except AssertionError:
@@ -3683,11 +3637,6 @@ def workout_flexchart3_view(request, *args, **kwargs):
reststrokes = not workstrokesonly
r = getrower(request.user)
try:
- range = metrics.yaxmaxima[xparam]
- if yparam1 is not None:
- range = metrics.yaxmaxima[yparam1]
- if yparam2 is not None:
- range = metrics.yaxmaxima[yparam2]
f = FavoriteChart(user=r, xparam=xparam,
yparam1=yparam1, yparam2=yparam2,
plottype=plottype, workouttype=workouttype,
@@ -3774,7 +3723,7 @@ def workout_flexchart3_view(request, *args, **kwargs):
try:
additionalmetrics = rowdata.get_additional_metrics()
additionalmetrics = [
- m for m in additionalmetrics if not m in nometrics]
+ m for m in additionalmetrics if m not in nometrics]
except AttributeError: # pragma: no cover
additionalmetrics = []
@@ -3959,9 +3908,6 @@ def workout_otwpowerplot_view(request, id=0, message="", successmessage=""):
# check if user is owner of this workout
# create interactive plot
- f1 = w.csvfilename
- u = w.user.user
- # r = getrower(u)
promember = 0
mayedit = 0
@@ -4064,34 +4010,34 @@ def workout_comment_view(request, id=0):
if request.user != r.user: # pragma: no cover
a_messages.info(r.user, message.encode('ascii', 'ignore'))
- res = myqueue(queuehigh,
- handle_sendemailnewcomment, r.user.first_name,
- r.user.last_name,
- r.user.email,
- request.user.first_name,
- request.user.last_name,
- comment, w.name, w.id,
- emailbounced=r.emailbounced
- )
+ _ = myqueue(queuehigh,
+ handle_sendemailnewcomment, r.user.first_name,
+ r.user.last_name,
+ r.user.email,
+ request.user.first_name,
+ request.user.last_name,
+ comment, w.name, w.id,
+ emailbounced=r.emailbounced
+ )
commenters = {oc.user for oc in comments if oc.notification}
for u in commenters: # pragma: no cover
a_messages.info(u, message)
if u != request.user and u != r.user:
ocr = Rower.objects.get(user=u)
- res = myqueue(queue,
- handle_sendemailnewresponse,
- u.first_name,
- u.last_name,
- u.email,
- request.user.first_name,
- request.user.last_name,
- comment,
- w.name,
- w.id,
- c.id,
- emailbounced=ocr.emailbounced
- )
+ _ = myqueue(queue,
+ handle_sendemailnewresponse,
+ u.first_name,
+ u.last_name,
+ u.email,
+ request.user.first_name,
+ request.user.last_name,
+ comment,
+ w.name,
+ w.id,
+ c.id,
+ emailbounced=ocr.emailbounced
+ )
url = reverse('workout_comment_view',
kwargs={
@@ -4236,7 +4182,7 @@ def workout_edit_view(request, id=0, message="", successmessage=""):
try:
# aware object can be in any timezone
- out = startdatetime.astimezone(pytz.utc)
+ _ = startdatetime.astimezone(pytz.utc)
except (ValueError, TypeError): # pragma: no cover
startdatetime = timezone.make_aware(startdatetime)
@@ -4444,9 +4390,6 @@ def workout_map_view(request, id=0):
mayedit = 0
if not request.user.is_anonymous:
r = getrower(request.user)
- result = request.user.is_authenticated and ispromember(request.user)
- if result:
- promember = 1
if request.user == w.user.user:
mayedit = 1
@@ -4618,7 +4561,6 @@ def workout_toggle_ranking(request, id=0):
@csrf_exempt
def workout_upload_api(request):
- stravaid = ''
if request.method != 'POST': # pragma: no cover
message = {'status': 'false',
'message': 'this view cannot be accessed through GET'}
@@ -4672,11 +4614,7 @@ def workout_upload_api(request):
return JSONResponse(status=400, data=message)
# sync related IDs
- stravaid = post_data.get('stravaid', '')
c2id = post_data.get('c2id', '')
- nkid = post_data.get('nkid', '')
- rp3id = post_data.get('rp3id', '')
- garminid = post_data.get('garminid', 0)
startdatetime = post_data.get('startdatetime', '')
oarlockfirmware = post_data.get('oarlockfirmware', None)
@@ -4740,11 +4678,6 @@ def workout_upload_api(request):
if optionsform.is_valid():
make_plot = optionsform.cleaned_data['make_plot']
plottype = optionsform.cleaned_data['plottype']
- upload_to_c2 = optionsform.cleaned_data['upload_to_C2']
-
- upload_to_strava = optionsform.cleaned_data['upload_to_Strava']
- upload_to_st = optionsform.cleaned_data['upload_to_SportTracks']
- upload_to_tp = optionsform.cleaned_data['upload_to_TrainingPeaks']
makeprivate = optionsform.cleaned_data['makeprivate']
else: # pragma: no cover
message = optionsform.errors
@@ -4852,7 +4785,7 @@ def workout_upload_api(request):
'id': encoder.encode_hex(w.id),
}
)
- email_sent = send_confirm(r.user, t, link, '')
+ _ = send_confirm(r.user, t, link, '')
return JSONResponse(status=statuscode, data=message)
@@ -4894,10 +4827,9 @@ def workout_upload_view(request,
if 'uploadoptions' in request.session:
uploadoptions = request.session['uploadoptions']
try:
- defaultlandingpage = uploadoptions['landingpage']
+ _ = uploadoptions['landingpage']
except KeyError: # pragma: no cover
uploadoptions['landingpage'] = r.defaultlandingpage
- defaultlandingpage = r.defaultlandingpage
else:
request.session['uploadoptions'] = uploadoptions
@@ -5026,15 +4958,17 @@ def workout_upload_view(request,
url = settings.UPLOAD_SERVICE_URL
- job = myqueue(queuehigh,
- handle_request_post,
- url,
- uploadoptions
- )
+ _ = myqueue(queuehigh,
+ handle_request_post,
+ url,
+ uploadoptions
+ )
messages.info(
request,
- "The file was too large to process in real time. It will be processed in a background process. You will receive an email when it is ready")
+ "The file was too large to process in real time."
+ " It will be processed in a background process."
+ " You will receive an email when it is ready")
url = reverse('workout_upload_view')
if is_ajax: # pragma: no cover
return JSONResponse({'result': 1, 'url': url})
@@ -5051,7 +4985,9 @@ def workout_upload_view(request,
response = HttpResponseRedirect(url)
return response
elif id == -1: # pragma: no cover
- message = 'The zip archive will be processed in the background. The files in the archive will only be uploaded without the extra actions. You will receive email when the workouts are ready.'
+ message = 'The zip archive will be processed in the background." \
+ " The files in the archive will only be uploaded without the extra actions." \
+ " You will receive email when the workouts are ready.'
messages.info(request, message)
url = reverse('workout_upload_view')
if is_ajax:
@@ -5086,7 +5022,7 @@ def workout_upload_view(request,
(jobid, 'make_plot')]
except KeyError:
request.session['async_tasks'] = [(jobid, 'make_plot')]
- elif r.staticchartonupload != None:
+ elif r.staticchartonupload is not None:
plottype = r.staticchartonupload
res, jobid = uploads.make_plot(r, w, f1, f2, plottype, t)
@@ -5345,8 +5281,6 @@ def team_workout_upload_view(request, message="",
}
]
- myteams = Team.objects.filter(manager=request.user)
-
make_plot = uploadoptions['make_plot']
plottype = uploadoptions['plottype']
@@ -5406,8 +5340,6 @@ def team_workout_upload_view(request, message="",
workouttype = form.cleaned_data['workouttype']
- notes = form.cleaned_data['notes']
-
if optionsform.is_valid():
make_plot = optionsform.cleaned_data['make_plot']
plottype = optionsform.cleaned_data['plottype']
@@ -5434,7 +5366,7 @@ def team_workout_upload_view(request, message="",
notes=''
)
else: # pragma: no cover
- job = myqueue(
+ _ = myqueue(
queuehigh,
handle_zip_file,
r.user.email,
@@ -5445,7 +5377,9 @@ def team_workout_upload_view(request, message="",
messages.info(
request,
- "The file was too large to process in real time. It will be processed in a background process. The user will receive an email when it is ready"
+ "The file was too large to process in real time."
+ " It will be processed in a background process."
+ " The user will receive an email when it is ready"
)
url = reverse('team_workout_upload_view')
@@ -5458,7 +5392,9 @@ def team_workout_upload_view(request, message="",
response = HttpResponseRedirect(url)
return response
elif id == -1: # pragma: no cover
- message = 'The zip archive will be processed in the background. The files in the archive will only be uploaded without the extra actions. You will receive email when the workouts are ready.'
+ message = 'The zip archive will be processed in the background." \
+ " The files in the archive will only be uploaded without the extra actions." \
+ " You will receive email when the workouts are ready.'
messages.info(request, message)
url = reverse('team_workout_upload_view')
response = HttpResponseRedirect(url)
@@ -5652,7 +5588,6 @@ def graph_show_view(request, id):
def workout_summary_restore_view(request, id, message="", successmessage=""):
row = get_workout_by_opaqueid(request, id)
- s = ""
# still here - this is a workout we may edit
f1 = row.csvfilename
u = row.user.user
@@ -5681,14 +5616,6 @@ def workout_summary_restore_view(request, id, message="", successmessage=""):
row.summary = intervalstats
row.save()
- # create interactive plot
- try:
- res = interactive_chart(encoder.decode_hex(id), promember=1)
- script = res[0]
- div = res[1]
- except ValueError: # pragma: no cover
- pass
-
messages.info(request, 'Original Interval Data Restored')
url = reverse('workout_summary_edit_view',
kwargs={
@@ -5702,7 +5629,8 @@ def workout_summary_restore_view(request, id, message="", successmessage=""):
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
@user_passes_test(ispromember, login_url="/rowers/paidplans",
- message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
def workout_split_view(request, id=0):
row = get_workout_by_opaqueid(request, id)
@@ -5797,7 +5725,10 @@ def workout_split_view(request, id=0):
# Fuse two workouts
-@user_passes_test(ispromember, login_url="/rowers/paidplans", message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality", redirect_field_name=None)
+@user_passes_test(ispromember, login_url="/rowers/paidplans",
+ message="This functionality requires a Pro plan or higher."
+ " If you are already a Pro user, please log in to access this functionality",
+ redirect_field_name=None)
def workout_fusion_view(request, id1=0, id2=1):
try:
@@ -5812,8 +5743,8 @@ def workout_fusion_view(request, id1=0, id2=1):
w1 = Workout.objects.get(id=id1)
w2 = Workout.objects.get(id=id2)
r = w1.user
- if (is_workout_user(request.user, w1) == False) or \
- (is_workout_user(request.user, w2) == False): # pragma: no cover
+ if (is_workout_user(request.user, w1) is False) or \
+ (is_workout_user(request.user, w2) is False): # pragma: no cover
raise PermissionDenied("You are not allowed to use these workouts")
except Workout.DoesNotExist: # pragma: no cover
raise Http404("One of the workouts doesn't exist")
@@ -5835,10 +5766,9 @@ def workout_fusion_view(request, id1=0, id2=1):
title='Fused data',
parent=w1,
forceunit=forceunit)
- if message != None: # pragma: no cover
+ if message is not None: # pragma: no cover
messages.error(request, message)
else:
- successmessage = 'Data fused'
messages.info(request, message)
url = reverse('workout_edit_view',
@@ -5947,7 +5877,7 @@ def workout_course_view(request, id):
)
record.save()
- job = myqueue(
+ _ = myqueue(
queuehigh,
handle_check_race_course,
row.csvfilename,
@@ -5967,7 +5897,9 @@ def workout_course_view(request, id):
request.session['async_tasks'] = [
(job.id, 'check_race_course')]
- messages.info(request, 'We are checking your time on the course in the background. You will receive an email when the check is complete. You can check the status here')
+ messages.info(request, 'We are checking your time on the course in the background." \
+ " You will receive an email when the check is complete." \
+ " You can check the status here')
# get results
records = VirtualRaceResult.objects.filter(
@@ -6033,7 +5965,7 @@ def workout_summary_edit_view(request, id, message="", successmessage=""
rowdata = rdata(csvfile=f1, rower=rr)
if rowdata == 0: # pragma: no cover
return HttpResponse("Error: CSV Data File Not Found")
- #intervalstats = rowdata.allstats()
+
intervalstats = row.summary
try:
itime, idist, itype = rowdata.intervalstats_values()
@@ -6145,7 +6077,7 @@ def workout_summary_edit_view(request, id, message="", successmessage=""
)
record.save()
- job = myqueue(
+ _ = myqueue(
queuehigh,
handle_check_race_course,
row.csvfilename,
@@ -6165,7 +6097,9 @@ def workout_summary_edit_view(request, id, message="", successmessage=""
request.session['async_tasks'] = [
(job.id, 'check_race_course')]
- messages.info(request, 'We are checking your time on the course in the background. You will receive an email when the check is complete. You can check the status here')
+ messages.info(request, 'We are checking your time on the course in the background." \
+ " You will receive an email when the check is complete." \
+ " You can check the status here')
vals = None
# feeling lucky / ruptures
@@ -6352,7 +6286,7 @@ def workout_summary_edit_view(request, id, message="", successmessage=""
itime, idist, itype = rowdata.intervalstats_values()
nrintervals = len(idist)
row.summary = intervalstats
- #intervalstats = rowdata.allstats()
+
if s:
try:
row.notes = u'{n} \n {s}'.format(
@@ -6634,7 +6568,6 @@ class WorkoutDelete(PermissionRequiredMixin, DeleteView):
mayedit = 0
promember = 0
if not self.request.user.is_anonymous:
- r = getrower(self.request.user)
result = self.request.user.is_authenticated and ispromember(
self.request.user)
if result: