diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index bf6dcf3a..6c417ae7 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -25,7 +25,7 @@ def getnearestraces(lat_lon,races): newlist = [] counter = 0 for race in races: - if race.course is None: + if race.course is None: # pragma: no cover newlist.append(race) else: c = race.course @@ -42,7 +42,7 @@ def getnearestraces(lat_lon,races): orders = [(c.id,howfaris(lat_lon,c.course)) for c in courseraces] orders = sorted(orders,key = lambda tup:tup[1]) ids = [id for id,distance in orders[0:4]] - for id, distance in orders[5:]: + for id, distance in orders[5:]: # pragma: no cover if distance 1: + if cs and len(cs) > 1: # pragma: no cover messages.info(request,'File contained multiple courses. We use the first one.') if cs: course = cs[0] @@ -538,7 +538,7 @@ def course_upload_replace_view(request,id=0): polygons = course['polygons'] course = courses.createcourse(r,cname,polygons,notes=cnotes) - if course.country == 'unknown': + if course.country == 'unknown': # pragma: no cover course.country = country course.save() @@ -548,15 +548,15 @@ def course_upload_replace_view(request,id=0): 'id':id, } ) - if is_ajax: + if is_ajax: # pragma: no cover return JSONResponse({'result':1,'url':url}) else: return HttpResponseRedirect(url) - else: + else: # pragma: no cover messages.error(request,"File does not contain a course") - else: + else: # pragma: no cover messages.error(request,"No file attached") - else: + else: # pragma: no cover messages.error(request,"Form is not valid") else: form = CourseForm() @@ -569,7 +569,7 @@ def course_upload_replace_view(request,id=0): 'course':course, 'active':'nav-racing', }) - else: + else: # pragma: no cover return {'result':0} @@ -591,7 +591,7 @@ def course_update_confirm(request,id=0,newid=0): 'id':course2.id, }) return HttpResponseRedirect(url) - else: + else: # pragma: no cover course2.delete() url = reverse(course_view, kwargs = { @@ -639,7 +639,7 @@ def course_update_confirm(request,id=0,newid=0): @login_required() def course_upload_view(request): is_ajax = False - if request.is_ajax(): + if request.is_ajax(): # pragma: no cover is_ajax = True r = getrower(request.user) @@ -666,18 +666,18 @@ def course_upload_view(request): course = courses.createcourse(r,cname,polygons,notes=cnotes) - if course.country == 'unknown': + if course.country == 'unknown': # pragma: no cover course.country = country course.save() os.remove(path_and_filename) url = reverse(courses_view) - if is_ajax: + if is_ajax: # pragma: no cover return JSONResponse({'result':1,'url':url}) else: return HttpResponseRedirect(url) - else: + else: # pragma: no cover messages.error(request,'Something went wrong - no file attached') url = reverse(course_upload_view) @@ -685,7 +685,7 @@ def course_upload_view(request): return JSONResponse({'result':0,'url':0}) else: return HttpResponseRedirect(url) - else: + else: # pragma: no cover messages.error(request,'Form is not valid') return render(request,'course_form.html', {'form':form, @@ -698,24 +698,24 @@ def course_upload_view(request): {'form':form, 'active':'nav-racing', }) - else: + else: # pragma: no cover return {'result':0} # Standards deactivate @login_required() def standard_deactivate_view(request,id=0): is_ajax = False - if request.is_ajax(): + if request.is_ajax(): # pragma: no cover is_ajax = True r = getrower(request.user) try: collection = StandardCollection.objects.get(id=id) - except StandardCollection.DoesNotExist: + except StandardCollection.DoesNotExist: # pragma: no cover raise Http404("Does not exist") - if request.user != collection.manager: + if request.user != collection.manager: # pragma: no cover raise PermissionDenied("You cannot change this set of time standards") collection.active = False @@ -728,7 +728,7 @@ def standard_deactivate_view(request,id=0): def standards_download_view(request,id=0): try: collection = StandardCollection.objects.get(id=id) - except StandardCollection.DoesNotExist: + except StandardCollection.DoesNotExist: # pragma: no cover raise Http404("Does not exist") filename = 'Standard Times {name} {id} {date}.csv'.format( @@ -752,11 +752,11 @@ def standards_download_view(request,id=0): @login_required() def standards_upload_view(request,id=0): is_ajax = False - if request.is_ajax(): + if request.is_ajax(): # pragma: no cover is_ajax = True r = getrower(request.user) - if id != 0: + if id != 0: # pragma: no cover collection = StandardCollection.objects.get(id=id) if request.user != collection.manager: raise PermissionDenied("You cannot change this set of time standards") @@ -779,24 +779,24 @@ def standards_upload_view(request,id=0): - if id==0: + if id==0: # pragma: no cover url = reverse(standards_view) else: url = reverse(standard_view,kwargs={'id':id}) - if is_ajax: + if is_ajax: # pragma: no cover return JSONResponse({'result':1,'url':url}) return HttpResponseRedirect(url) - else: + else: # pragma: no cover messages.error(request,'Something went wrong - no file attached') url = reverse(standards_upload_view) if is_ajax: return JSONResponse({'result':0,'url':0}) return HttpResponseRedirect(url) - else: + else: # pragma: no cover messages.error(request,'Form is not valid') return render(request,'standard_form.html', {'form':form, @@ -807,7 +807,7 @@ def standards_upload_view(request,id=0): else: if not is_ajax: form = StandardsForm() - if id != 0: + if id != 0: # pragma: no cover collection = StandardCollection.objects.get(id=id) form = StandardsForm(initial={ 'name':collection.name, @@ -818,12 +818,12 @@ def standards_upload_view(request,id=0): 'active':'nav-racing', 'id':id, }) - return {'result':0} + return {'result':0} # pragma: no cover def virtualevents_view(request): is_ajax = False - if request.is_ajax(): + if request.is_ajax(): # pragma: no cover is_ajax = True g = GeoIP2() @@ -831,7 +831,7 @@ def virtualevents_view(request): try: lat_lon = g.lat_lon(ip) city = g.city(ip) - except: + except: # pragma: no cover lat_lon = None city = { 'city': '', @@ -870,7 +870,7 @@ def virtualevents_view(request): regattatype = cd['regattatype'] if country == 'All': countries = VirtualRace.objects.order_by('country').values_list('country').distinct() - else: + else: # pragma: no cover countries = [country, 'Indoor'] @@ -900,13 +900,13 @@ def virtualevents_view(request): evaluation_closure__gte=timezone.now(), country__in=countries ).order_by("startdate","start_time") - elif regattatype == 'my': + elif regattatype == 'my': # pragma: no cover mysessions = get_my_session_ids(r) races = VirtualRace.objects.filter( id__in=mysessions, country__in=countries ).order_by("startdate","start_time") - elif regattatype == 'all': + elif regattatype == 'all': # pragma: no cover races = VirtualRace.objects.filter( country__in=countries ).order_by("startdate","start_time") @@ -915,11 +915,11 @@ def virtualevents_view(request): nearby = request.GET.get('nearby') - if nearby and lat_lon is not None: + if nearby and lat_lon is not None: # pragma: no cover races = getnearestraces(lat_lon,races) - if is_ajax: + if is_ajax: # pragma: no cover return render(request,'racelist.html', { 'races':races, 'rower':r, @@ -960,17 +960,17 @@ def virtualevent_disqualify_view(request,id=0,recordid=0): if race.sessiontype == 'race': recordobj = VirtualRaceResult - else: + else: # pragma: no cover recordobj = IndoorVirtualRaceResult # datum moet voor race evaluation date zijn (ook in template controleren) try: record = recordobj.objects.get(id=recordid) - except recordobj.DoesNotExist: + except recordobj.DoesNotExist: # pragma: no cover messages.error(request,"We couldn't find the record") - if timezone.now() > race.evaluation_closure+datetime.timedelta(hours=1): + if timezone.now() > race.evaluation_closure+datetime.timedelta(hours=1): # pragma: no cover messages.error(request,"The evaluation is already closed and the results are official") url = reverse('virtualevent_view',kwargs={'id':raceid}) @@ -1006,11 +1006,11 @@ def virtualevent_disqualify_view(request,id=0,recordid=0): try: workout = Workout.objects.get(id=record.workoutid) - except Workout.DoesNotExist: + except Workout.DoesNotExist: # pragma: no cover raise Http404("Workout not found") g = GraphImage.objects.filter(workout=workout).order_by("-creationdatetime") - for i in g: + for i in g: # pragma: no cover try: width,height = Image.open(i.filename).size i.width = width @@ -1027,18 +1027,18 @@ def virtualevent_disqualify_view(request,id=0,recordid=0): if rowdata != 0: try: latitude = rowdata.df[' latitude'] - if not latitude.std(): + if not latitude.std(): # pragma: no cover hascoordinates = 0 - except (KeyError, AttributeError): + except (KeyError, AttributeError): # pragma: no cover hascoordinates = 0 - else: + else: # pragma: no cover hascoordinates = 0 if hascoordinates: mapscript, mapdiv = leaflet_chart(rowdata.df[' latitude'], rowdata.df[' longitude'], workout.name) - else: + else: # pragma: no cover mapscript = "" mapdiv = "" @@ -1063,7 +1063,7 @@ def virtualevent_disqualify_view(request,id=0,recordid=0): buttons = [] if not request.user.is_anonymous: - if race_can_register(r,race): + if race_can_register(r,race): # pragma: no cover buttons += ['registerbutton'] if race_can_adddiscipline(r,race): @@ -1072,10 +1072,10 @@ def virtualevent_disqualify_view(request,id=0,recordid=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -1111,13 +1111,13 @@ def virtualevent_withdrawresult_view(request,id=0,recordid=0): try: record = recordobj.objects.get(id=recordid) - except recordobj.DoesNotExist: + except recordobj.DoesNotExist: # pragma: no cover messages.error(request,"We couldn't find the record") - if r.id != record.userid: + if r.id != record.userid: # pragma: no cover raise PermissionDenied("You are not the owner of this result") - if timezone.now() > race.evaluation_closure+datetime.timedelta(hours=1): + if timezone.now() > race.evaluation_closure+datetime.timedelta(hours=1): # pragma: no cover messages.error(request,"The evaluation is already closed and the results are official") url = reverse('virtualevent_view',kwargs={'id':raceid}) @@ -1151,7 +1151,7 @@ def virtualevent_withdrawresult_view(request,id=0,recordid=0): else: form = DisqualificationForm(request.POST) - try: + try: # pragma: no cover workout = Workout.objects.get(id=record.workoutid) g = GraphImage.objects.filter(workout=workout).order_by("-creationdatetime") for i in g: @@ -1185,7 +1185,7 @@ def virtualevent_withdrawresult_view(request,id=0,recordid=0): else: mapscript = "" mapdiv = "" - except Workout.DoesNotExist: + except Workout.DoesNotExist: # pragma: no cover mapscript = "" mapdiv = "" workout = None @@ -1216,7 +1216,7 @@ def virtualevent_withdrawresult_view(request,id=0,recordid=0): buttons = [] if not request.user.is_anonymous: - if race_can_register(r,race): + if race_can_register(r,race): # pragma: no cover buttons += ['registerbutton'] if race_can_adddiscipline(r,race): @@ -1225,10 +1225,10 @@ def virtualevent_withdrawresult_view(request,id=0,recordid=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -1255,13 +1255,13 @@ def virtualevent_view(request,id=0): if not request.user.is_anonymous: r = getrower(request.user) - else: + else: # pragma: no cover r = None try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") if race.sessiontype == 'race': @@ -1278,7 +1278,7 @@ def virtualevent_view(request,id=0): # to-do - add DNS dns = [] - if timezone.now() > race.evaluation_closure: + if timezone.now() > race.evaluation_closure: # pragma: no cover dns = resultobj.objects.filter( race=race, workoutid__isnull=True, @@ -1301,7 +1301,7 @@ def virtualevent_view(request,id=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] if race_can_withdraw(r,race): @@ -1310,7 +1310,7 @@ def virtualevent_view(request,id=0): if race_can_edit(r,race): buttons += ['editbutton'] - if request.method == 'POST': + if request.method == 'POST': # pragma: no cover form = RaceResultFilterForm(request.POST,records=records) if form.is_valid(): cd = form.cleaned_data @@ -1424,7 +1424,7 @@ def virtualevent_view(request,id=0): if orderby not in allowed: orderby = None - if orderby is not None: + if orderby is not None: # pragma: no cover try: results = results.order_by(orderby) except AttributeError: @@ -1432,7 +1432,7 @@ def virtualevent_view(request,id=0): racelogos = race.logos.all() - if racelogos: + if racelogos: # pragma: no cover racelogo = racelogos[0] else: racelogo = None @@ -1470,12 +1470,12 @@ def virtualevent_results_download_view(request,id=0): try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") if race.sessiontype == 'race': resultobj = VirtualRaceResult - else: + else: # pragma: no cover resultobj = IndoorVirtualRaceResult records = resultobj.objects.filter(race=race) @@ -1503,13 +1503,13 @@ def virtualevent_ranking_view(request,id=0): if not request.user.is_anonymous: r = getrower(request.user) - else: + else: # pragma: no cover r = None try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") if race.sessiontype == 'race': @@ -1527,7 +1527,7 @@ def virtualevent_ranking_view(request,id=0): # to-do - add DNS dns = [] - if timezone.now() > race.evaluation_closure: + if timezone.now() > race.evaluation_closure: # pragma: no cover dns = resultobj.objects.filter( race=race, workoutid__isnull=True, @@ -1541,7 +1541,7 @@ def virtualevent_ranking_view(request,id=0): if not request.user.is_anonymous: - if race_can_register(r,race): + if race_can_register(r,race): # pragma: no cover buttons += ['registerbutton'] if race_can_adddiscipline(r,race): @@ -1550,16 +1550,16 @@ def virtualevent_ranking_view(request,id=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): buttons += ['editbutton'] - if request.method == 'POST': + if request.method == 'POST': # pragma: no cover form = RaceResultFilterForm(request.POST,records=records) if form.is_valid(): cd = form.cleaned_data @@ -1641,7 +1641,7 @@ def virtualevent_ranking_view(request,id=0): if results: form = RaceResultFilterForm(records=records) - else: + else: # pragma: no cover form = None @@ -1661,7 +1661,7 @@ def virtualevent_ranking_view(request,id=0): racelogos = race.logos.all() - if racelogos: + if racelogos: # pragma: no cover racelogo = racelogos[0] else: racelogo = None @@ -1689,14 +1689,14 @@ def virtualevent_withdraw_view(request,id=0,recordid=None): try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") if race_can_withdraw(r,race): remove_rower_race(r,race,recordid=recordid) messages.info(request, "You have successfully withdrawn from this race.") - else: + else: # pragma: no cover messages.error(request,"You cannot withdraw from this race") url = reverse('virtualevent_view', @@ -1711,12 +1711,12 @@ def virtualevent_addboat_view(request,id=0): r = getrower(request.user) try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") if race.sessiontype in ['race']: resultobj = VirtualRaceResult - else: + else: # pragma: no cover resultobj = IndoorVirtualRaceResult categories = None @@ -1726,7 +1726,7 @@ def virtualevent_addboat_view(request,id=0): standardcollection=race.coursestandards).order_by("name") - if not race_can_adddiscipline(r,race): + if not race_can_adddiscipline(r,race): # pragma: no cover messages.error(request,"You cannot register for this race") url = reverse('virtualevent_view', @@ -1771,11 +1771,11 @@ def virtualevent_addboat_view(request,id=0): if sex == 'not specified': sex = 'male' - if mix: + if mix: # pragma: no cover sex = 'mixed' - if boattype in boattypes and boatclass in boatclasses and race.coursestandards is None: + if boattype in boattypes and boatclass in boatclasses and race.coursestandards is None: # pragma: no cover # check if different sexes therecords = records.filter( boattype=boattype, @@ -1805,7 +1805,7 @@ def virtualevent_addboat_view(request,id=0): thegroups = [record.entrycategory for record in records] - if coursestandard in thegroups: + if coursestandard in thegroups: # pragma: no cover messages.error(request,"You have already registered in that group") url = reverse('virtualevent_view', kwargs = { @@ -1825,19 +1825,19 @@ def virtualevent_addboat_view(request,id=0): returnurl = reverse(virtualevent_register_view, kwargs={'id':race.id}) - if age < coursestandard.agemin: + if age < coursestandard.agemin: # pragma: no cover messages.error(request,'You are younger than the minimum age for this group') return HttpResponseRedirect(returnurl) - if age > coursestandard.agemax: + if age > coursestandard.agemax: # pragma: no cover messages.error(request,'You are older than the maximum age for this group') return HttpResponseRedirect(returnurl) - if sex == 'male' and coursestandard.sex != 'male': + if sex == 'male' and coursestandard.sex != 'male': # pragma: no cover messages.error(request,'Men are not allowed to enter this category') return HttpResponseRedirect(returnurl) - if sex == 'mixed' and coursestandard.sex not in ['mixed','male']: + if sex == 'mixed' and coursestandard.sex not in ['mixed','male']: # pragma: no cover messages.error(request,'Mixed crews are not allowed to enter this category') return HttpResponseRedirect(returnurl) @@ -1900,13 +1900,13 @@ def virtualevent_addboat_view(request,id=0): race.name, race.id ) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover pass followers = VirtualRaceFollower.objects.filter(race = race) - for follower in followers: + for follower in followers: # pragma: no cover othername = '' if follower.user: othername = follower.user.first_name+' '+follower.user.last_name @@ -1938,7 +1938,7 @@ def virtualevent_addboat_view(request,id=0): 'sex':sex, 'entrycategory':initialcategory, } - else: + else: # pragma: no cover initial = { 'age': calculate_age(r.birthdate), 'weightcategory': r.weightcategory, @@ -1976,7 +1976,7 @@ def virtualevent_addboat_view(request,id=0): buttons = [] if not request.user.is_anonymous: - if race_can_register(r,race): + if race_can_register(r,race): # pragma: no cover buttons += ['registerbutton'] if race_can_adddiscipline(r,race): @@ -1985,7 +1985,7 @@ def virtualevent_addboat_view(request,id=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] if race_can_withdraw(r,race): @@ -2009,7 +2009,7 @@ def virtualevent_register_view(request,id=0): r = getrower(request.user) try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") @@ -2032,7 +2032,7 @@ def virtualevent_register_view(request,id=0): if race.sessiontype == 'race': resultobj = VirtualRaceResult - else: + else: # pragma: no cover resultobj = IndoorVirtualRaceResult # we're still here @@ -2061,7 +2061,7 @@ def virtualevent_register_view(request,id=0): if sex == 'not specified': sex = 'male' - if mix: + if mix: # pragma: no cover sex = 'mixed' @@ -2080,19 +2080,19 @@ def virtualevent_register_view(request,id=0): returnurl = reverse(virtualevent_register_view, kwargs={'id':race.id}) - if age < coursestandard.agemin: + if age < coursestandard.agemin: # pragma: no cover messages.error(request,'You are younger than the minimum age for this group') return HttpResponseRedirect(returnurl) - if age > coursestandard.agemax: + if age > coursestandard.agemax: # pragma: no cover messages.error(request,'You are older than the maximum age for this group') return HttpResponseRedirect(returnurl) - if sex == 'male' and coursestandard.sex != 'male': + if sex == 'male' and coursestandard.sex != 'male': # pragma: no cover messages.error(request,'Men are not allowed to enter this category') return HttpResponseRedirect(returnurl) - if sex == 'mixed' and coursestandard.sex not in ['mixed','male']: + if sex == 'mixed' and coursestandard.sex not in ['mixed','male']: # pragma: no cover messages.error(request,'Mixed crews are not allowed to enter this category') return HttpResponseRedirect(returnurl) @@ -2135,7 +2135,7 @@ def virtualevent_register_view(request,id=0): # remove followers myfollows = VirtualRaceFollower.objects.filter(user=r.user,race=race) - for f in myfollows: + for f in myfollows: # pragma: no cover f.delete() otherrecords = resultobj.objects.filter( @@ -2155,12 +2155,12 @@ def virtualevent_register_view(request,id=0): race.name, race.id ) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover pass followers = VirtualRaceFollower.objects.filter(race = race) - for follower in followers: + for follower in followers: # pragma: no cover othername = '' if follower.user: othername = follower.user.first_name+' '+follower.user.last_name @@ -2200,7 +2200,7 @@ def virtualevent_register_view(request,id=0): 'sex':sex, 'entrycategory':initialcategory, } - else: + else: # pragma: no cover initial = { 'age': calculate_age(r.birthdate), 'weightcategory': r.weightcategory, @@ -2239,16 +2239,16 @@ def virtualevent_register_view(request,id=0): if race_can_register(r,race): buttons += ['registerbutton'] - if race_can_adddiscipline(r,race): + if race_can_adddiscipline(r,race): # pragma: no cover buttons += ['adddisciplinebutton'] if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -2272,7 +2272,7 @@ def virtualevent_toggle_email_view(request,id=0): if True in [record.emailnotifications for record in records]: newsetting = False - else: + else: # pragma: no cover newsetting = True for record in records: @@ -2294,7 +2294,7 @@ def indoorvirtualevent_toggle_email_view(request,id=0): if True in [record.emailnotifications for record in records]: newsetting = False - else: + else: # pragma: no cover newsetting = True for record in records: @@ -2311,11 +2311,11 @@ def indoorvirtualevent_register_view(request,id=0): r = getrower(request.user) try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") categories = None - if race.coursestandards is not None: + if race.coursestandards is not None: # pragma: no cover categories = CourseStandard.objects.filter( standardcollection=race.coursestandards).order_by("name") @@ -2354,7 +2354,7 @@ def indoorvirtualevent_register_view(request,id=0): coursestandard = None referencespeed = 5.0 - if race.coursestandards is not None: + if race.coursestandards is not None: # pragma: no cover coursestandard = cd['entrycategory'] referencespeed = coursestandard.referencespeed boatclass = coursestandard.boatclass @@ -2419,7 +2419,7 @@ def indoorvirtualevent_register_view(request,id=0): # remove followers myfollows = VirtualRaceFollower.objects.filter(user=r.user,race=race) - for f in myfollows: + for f in myfollows: # pragma: no cover f.delete() otherrecords = IndoorVirtualRaceResult.objects.filter( @@ -2439,12 +2439,12 @@ def indoorvirtualevent_register_view(request,id=0): race.name, race.id ) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover pass followers = VirtualRaceFollower.objects.filter(race = race) - for follower in followers: + for follower in followers: # pragma: no cover othername = '' if follower.user: othername = follower.user.first_name+' '+follower.user.last_name @@ -2479,7 +2479,7 @@ def indoorvirtualevent_register_view(request,id=0): } categories = None - if race.coursestandards is not None: + if race.coursestandards is not None: # pragma: no cover categories = CourseStandard.objects.filter( standardcollection=race.coursestandards).order_by("name") @@ -2510,16 +2510,16 @@ def indoorvirtualevent_register_view(request,id=0): if race_can_register(r,race): buttons += ['registerbutton'] - if race_can_adddiscipline(r,race): + if race_can_adddiscipline(r,race): # pragma: no cover buttons += ['adddisciplinebutton'] if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -2576,7 +2576,7 @@ def indoorvirtualevent_create_view(request): evaluation_closure.replace(tzinfo=None) ) - if registration_form == 'manual': + if registration_form == 'manual': # pragma: no cover try: registration_closure = pytz.timezone( timezone_str @@ -2585,14 +2585,14 @@ def indoorvirtualevent_create_view(request): ) except AttributeError: registration_closure = startdatetime - elif registration_form == 'windowstart': + elif registration_form == 'windowstart': # pragma: no cover registration_closure = startdatetime - elif registration_form == 'windowend': + elif registration_form == 'windowend': # pragma: no cover registration_closure = enddatetime else: registration_closure = evaluation_closure - if sessionunit == 'min': + if sessionunit == 'min': # pragma: no cover sessionmode = 'time' else: sessionmode = 'distance' @@ -2625,9 +2625,9 @@ def indoorvirtualevent_create_view(request): # create Site Announcement & Tweet if settings.DEBUG or settings.TESTING: dotweet = False - elif 'dev' in settings.SITE_URL: + elif 'dev' in settings.SITE_URL: # pragma: no cover dotweet = False - else: + else: # pragma: no cover dotweet = True announcementshort = "New Virtual Indoor Challenge on rowsandall.com: {name}".format( @@ -2640,7 +2640,7 @@ def indoorvirtualevent_create_view(request): ) - if len(announcement)>250: + if len(announcement)>250: # pragma: no cover announcement = announcementshort sa = SiteAnnouncement( @@ -2719,7 +2719,7 @@ def fastestvirtualevent_create_view(request): evaluation_closure.replace(tzinfo=None) ) - if registration_form == 'manual': + if registration_form == 'manual': # pragma: no cover try: registration_closure = pytz.timezone( timezone_str @@ -2728,14 +2728,14 @@ def fastestvirtualevent_create_view(request): ) except AttributeError: registration_closure = startdatetime - elif registration_form == 'windowstart': + elif registration_form == 'windowstart': # pragma: no cover registration_closure = startdatetime - elif registration_form == 'windowend': + elif registration_form == 'windowend': # pragma: no cover registration_closure = enddatetime else: registration_closure = evaluation_closure - if sessionunit == 'min': + if sessionunit == 'min': # pragma: no cover sessionmode = 'time' sessiontype = 'fastest_time' else: @@ -2771,9 +2771,9 @@ def fastestvirtualevent_create_view(request): # create Site Announcement & Tweet if settings.DEBUG or settings.TESTING: dotweet = False - elif 'dev' in settings.SITE_URL: + elif 'dev' in settings.SITE_URL: # pragma: no cover dotweet = False - else: + else: # pragma: no cover dotweet = True announcementshort = "New Virtual Challenge on rowsandall.com: {name}".format( @@ -2786,7 +2786,7 @@ def fastestvirtualevent_create_view(request): ) - if len(announcement)>250: + if len(announcement)>250: # pragma: no cover announcement = announcementshort sa = SiteAnnouncement( @@ -2866,7 +2866,7 @@ def virtualevent_create_view(request): evaluation_closure.replace(tzinfo=None) ) - if registration_form == 'manual': + if registration_form == 'manual': # pragma: no cover try: registration_closure = pytz.timezone( timezone_str @@ -2875,9 +2875,9 @@ def virtualevent_create_view(request): ) except AttributeError: registration_closure = startdatetime - elif registration_form == 'windowstart': + elif registration_form == 'windowstart': # pragma: no cover registration_closure = startdatetime - elif registration_form == 'windowend': + elif registration_form == 'windowend': # pragma: no cover registration_closure = enddatetime else: registration_closure = evaluation_closure @@ -2908,9 +2908,9 @@ def virtualevent_create_view(request): # create Site Announcement & Tweet if settings.DEBUG or settings.TESTING: dotweet = False - elif 'dev' in settings.SITE_URL: + elif 'dev' in settings.SITE_URL: # pragma: no cover dotweet = False - else: + else: # pragma: no cover dotweet = True announcementshort = "New Virtual Challenge on rowsandall.com: {name} on course {course}".format( @@ -2924,7 +2924,7 @@ def virtualevent_create_view(request): ) - if len(announcement)>250: + if len(announcement)>250: # pragma: no cover announcement = announcementshort sa = SiteAnnouncement( @@ -2982,7 +2982,7 @@ def virtualevent_edit_view(request,id=0): enddatetime ) - if timezone.now() > enddatetime: + if timezone.now() > enddatetime: # pragma: no cover messages.error(request,"You cannot edit a race after the end of the race window") url = reverse('virtualevent_view', kwargs={ @@ -2998,7 +2998,7 @@ def virtualevent_edit_view(request,id=0): if res: messages.info(request,message) - else: + else: # pragma: no cover messages.error(request,message) url = reverse('virtualevent_view', @@ -3037,16 +3037,16 @@ def virtualevent_edit_view(request,id=0): if race_can_register(r,race): buttons += ['registerbutton'] - if race_can_adddiscipline(r,race): + if race_can_adddiscipline(r,race): # pragma: no cover buttons += ['adddisciplinebutton'] - if race_can_submit(r,race): + if race_can_submit(r,race): # pragma: no cover buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -3082,7 +3082,7 @@ def indoorvirtualevent_edit_view(request,id=0): enddatetime ) - if timezone.now() > enddatetime: + if timezone.now() > enddatetime: # pragma: no cover messages.error(request,"You cannot edit a race after the end of the race window") url = reverse('virtualevent_view', kwargs={ @@ -3098,7 +3098,7 @@ def indoorvirtualevent_edit_view(request,id=0): if res: messages.info(request,message) - else: + else: # pragma: no cover messages.error(request,message) url = reverse('virtualevent_view', @@ -3138,16 +3138,16 @@ def indoorvirtualevent_edit_view(request,id=0): if race_can_register(r,race): buttons += ['registerbutton'] - if race_can_adddiscipline(r,race): + if race_can_adddiscipline(r,race): # pragma: no cover buttons += ['adddisciplinebutton'] - if race_can_submit(r,race): + if race_can_submit(r,race): # pragma: no cover buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -3172,7 +3172,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") start_time = race.start_time @@ -3197,7 +3197,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): race=race ) - if records.count() == 0: + if records.count() == 0: # pragma: no cover 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") @@ -3232,7 +3232,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): entries['choices'] = entrychoices entries['initial'] = [records[0].id] - if not can_submit: + if not can_submit: # pragma: no cover messages.error(request,'You cannot submit a result to this race') url = reverse('virtualevent_view', kwargs = { @@ -3248,7 +3248,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): startdatetime__lte=enddatetime, ).order_by("-date","-startdatetime","id") - if not ws: + if not ws: # pragma: no cover messages.info( request, 'You have no workouts executed during the race window. Please upload a result or enter it manually.' @@ -3274,7 +3274,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): for w in ws: wtpl = (w.id, w.__str__()) choices.append(wtpl) - if w.id in initialworkouts: + if w.id in initialworkouts: # pragma: no cover workoutdata['initial'].append(w.id) workoutdata['choices'] = tuple(choices) @@ -3297,7 +3297,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): result,comments,errors,jobid = add_workout_race( workouts,race,r, splitsecond=splitsecond,recordid=recordid) - elif race.sessiontype in ['fastest_time','fastest_distance']: + elif race.sessiontype in ['fastest_time','fastest_distance']: # pragma: no cover result, comments, errors, jobid = add_workout_fastestrace( workouts,race,r,recordid=recordid ) @@ -3339,12 +3339,12 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): race.name, race.id ) - except Rower.DoesNotExist: + except Rower.DoesNotExist: # pragma: no cover pass followers = VirtualRaceFollower.objects.filter(race = race) - for follower in followers: + for follower in followers: # pragma: no cover othername = '' if follower.user: othername = follower.user.first_name+' '+follower.user.last_name @@ -3396,7 +3396,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): buttons = [] if not request.user.is_anonymous: - if race_can_register(r,race): + if race_can_register(r,race): # pragma: no cover buttons += ['registerbutton'] if race_can_adddiscipline(r,race): @@ -3405,10 +3405,10 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race): @@ -3429,7 +3429,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): def addfollower_view(request,id=0): try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") if not request.user.is_anonymous: @@ -3446,7 +3446,7 @@ def addfollower_view(request,id=0): return HttpResponseRedirect(url) # Anonymous - if request.method == 'POST': + if request.method == 'POST': # pragma: no cover form = FollowerForm(request.POST) if form.is_valid(): email = form.cleaned_data['emailaddress'] @@ -3464,7 +3464,7 @@ def addfollower_view(request,id=0): return HttpResponseRedirect(url) - else: + else: # pragma: no cover form = FollowerForm() breadcrumbs = [ @@ -3484,7 +3484,7 @@ def addfollower_view(request,id=0): ), 'name': 'Follow' } - ] + ] # pragma: no cover return render(request,'followerform.html', { @@ -3492,17 +3492,17 @@ def addfollower_view(request,id=0): 'active':'nav-racing', 'breadcrumbs':breadcrumbs, } - ) + ) # pragma: no cover @login_required() def virtualevent_entry_edit_view(request,id=0,entryid=0): r = getrower(request.user) try: race = VirtualRace.objects.get(id=id) - except VirtualRace.DoesNotExist: + except VirtualRace.DoesNotExist: # pragma: no cover raise Http404("Virtual Challenge does not exist") - if not race_can_editentry(r,race): + if not race_can_editentry(r,race): # pragma: no cover messages.error(request,'You cannot change your entries for this challenge') url = reverse('virtualevent_view', kwargs={'id':race.id} @@ -3517,10 +3517,10 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): if race.sessiontype == 'race': resultobj = VirtualRaceResult formobj = VirtualRaceResultForm - elif race.sessiontype in ['fastest_distance','fastest_time']: + elif race.sessiontype in ['fastest_distance','fastest_time']: # pragma: no cover resultobj = IndoorVirtualRaceResult formobj = VirtualRaceResultForm - else: + else: # pragma: no cover resultobj = IndoorVirtualRaceResult formobj = IndoorVirtualRaceResultForm @@ -3531,7 +3531,7 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): try: record = resultobj.objects.get(id=entryid) - except resultobj.DoesNotExist: + except resultobj.DoesNotExist: # pragma: no cover raise Http404("Could not find your entry") if request.method == 'POST': @@ -3543,7 +3543,7 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): teamname = cd['teamname'] try: boattype = cd['boattype'] - except KeyError: + except KeyError: # pragma: no cover boattype = None boatclass = cd['boatclass'] weightcategory = cd['weightcategory'] @@ -3551,13 +3551,13 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): age = cd['age'] try: mix = cd['mix'] - except KeyError: + except KeyError: # pragma: no cover mix = None acceptsocialmedia = cd['acceptsocialmedia'] sex = r.sex - if mix: + if mix: # pragma: no cover sex = 'mixed' if boattype == '1x' and r.birthdate: @@ -3583,26 +3583,26 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): adaptiveclass = coursestandard.adaptiveclass skillclass = coursestandard.skillclass - if age < coursestandard.agemin: + if age < coursestandard.agemin: # pragma: no cover messages.error(request,'You are younger than the minimum age for this group') return HttpResponseRedirect(returnurl) - if age > coursestandard.agemax: + if age > coursestandard.agemax: # pragma: no cover messages.error(request,'You are older than the maximum age for this group') return HttpResponseRedirect(returnurl) - if sex == 'male' and coursestandard.sex != 'male': + if sex == 'male' and coursestandard.sex != 'male': # pragma: no cover messages.error(request,'Men are not allowed to enter this category') return HttpResponseRedirect(returnurl) - if sex == 'mixed' and coursestandard.sex not in ['mixed','male']: + if sex == 'mixed' and coursestandard.sex not in ['mixed','male']: # pragma: no cover messages.error(request,'Mixed crews are not allowed to enter this category') return HttpResponseRedirect(returnurl) - if record.workoutid: + if record.workoutid: # pragma: no cover try: w = Workout.objects.get(id=record.workoutid) - except Workout.DoesNotExist: + except Workout.DoesNotExist: # pragma: no cover w = None if w is not None: @@ -3632,7 +3632,7 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): messages.error(request,'You cannot change adaptive class to a different one ') return HttpResponseRedirect(returnurl) - if record.points != 0: + if record.points != 0: # pragma: no cover if race.sessiontype == 'race': coursedistance = race.course.distance else: @@ -3657,10 +3657,10 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): duplicates = False for otherrecord in records: - if record.isduplicate(otherrecord): + if record.isduplicate(otherrecord): # pragma: no cover duplicates = True - if duplicates: + if duplicates: # pragma: no cover messages.error(request,"You have already entered this group") return HttpResponseRedirect(returnurl) else: @@ -3703,7 +3703,7 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): buttons = [] if not request.user.is_anonymous: - if race_can_register(r,race): + if race_can_register(r,race): # pragma: no cover buttons += ['registerbutton'] if race_can_adddiscipline(r,race): @@ -3712,10 +3712,10 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): if race_can_submit(r,race): buttons += ['submitbutton'] - if race_can_resubmit(r,race): + if race_can_resubmit(r,race): # pragma: no cover buttons += ['resubmitbutton'] - if race_can_withdraw(r,race): + if race_can_withdraw(r,race): # pragma: no cover buttons += ['withdrawbutton'] if race_can_edit(r,race):