From aae5858b5174024dc74531d067118cdf5c042210 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 12 Apr 2021 08:45:48 +0200 Subject: [PATCH] small stuff coverage related --- rowers/views/workoutviews.py | 118 ++++++++++++++++++----------------- 1 file changed, 61 insertions(+), 57 deletions(-) diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index c26b1ac7..0048006e 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -2054,7 +2054,7 @@ def workouts_view(request,message='',successmessage='', activity_startdate = activity_startdate.replace(hour=0,minute=0,second=0) else: activity_enddate = enddate - except ValueError: + except ValueError: # pragma: no cover activity_enddate = enddate g_startdate = activity_startdate @@ -2064,7 +2064,7 @@ def workouts_view(request,message='',successmessage='', if teamid: try: theteam = Team.objects.get(id=teamid) - except Team.DoesNotExist: + except Team.DoesNotExist: # pragma: no cover raise Http404("Team doesn't exist") if theteam.viewing == 'allmembers' or theteam.manager == request.user: @@ -2138,7 +2138,7 @@ def workouts_view(request,message='',successmessage='', # polarization = dataprep.polarization_index(df,r) - if query: + if query: # pragma: no cover query_list = query.split() workouts = workouts.filter( reduce(operator.and_, @@ -2151,13 +2151,11 @@ def workouts_view(request,message='',successmessage='', searchform = SearchForm() paginator = Paginator(workouts,20) # show 25 workouts per page - page = request.GET.get('page') + page = request.GET.get('page',1) try: workouts = paginator.page(page) - except PageNotAnInteger: - workouts = paginator.page(1) - except EmptyPage: + except EmptyPage: # pragma: no cover workouts = paginator.page(paginator.num_pages) today = timezone.now() @@ -2174,7 +2172,7 @@ def workouts_view(request,message='',successmessage='', stack='type' yaxis = request.GET.get('yaxis','duration') - if yaxis not in ['duration','trimp','rscore']: + if yaxis not in ['duration','trimp','rscore']: # pragma: no cover yaxis = 'duration' script,div = interactive_activitychart(g_workouts, @@ -2254,7 +2252,7 @@ def workout_fusion_list(request,id=0, enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) #enddate = enddate+datetime.timedelta(days=1) - if enddate < startdate: + if enddate < startdate: # pragma: no cover s = enddate enddate = startdate startdate = s @@ -2269,7 +2267,7 @@ def workout_fusion_list(request,id=0, startdatetime__lte=enddate).order_by("-date", "-starttime").exclude(id=theid) query = request.GET.get('q') - if query: + if query: # pragma: no cover query_list = query.split() workouts = workouts.filter( reduce(operator.and_, @@ -2282,12 +2280,10 @@ def workout_fusion_list(request,id=0, searchform = SearchForm() paginator = Paginator(workouts,15) # show 25 workouts per page - page = request.GET.get('page') + page = request.GET.get('page',1) try: workouts = paginator.page(page) - except PageNotAnInteger: - workouts = paginator.page(1) except EmptyPage: workouts = paginator.page(paginator.num_pages) row = get_workoutuser(id, request) @@ -2499,7 +2495,7 @@ def workout_undo_smoothenpace_view( filename = row.csvfilename row = rdata(filename) - if row == 0: + if row == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") if 'originalvelo' in row.df: @@ -2534,7 +2530,7 @@ def workout_smoothenpace_view(request,id=0,message="",successmessage=""): filename = row.csvfilename row = rdata(filename) - if row == 0: + if row == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") try: @@ -2542,7 +2538,7 @@ def workout_smoothenpace_view(request,id=0,message="",successmessage=""): velo = 500./pace except KeyError: messages.error(request,'Unable to find the data') - if previousurl: + if previousurl: # pragma: no cover url = previousurl else: url = reverse(r.defaultlandingpage, @@ -2595,7 +2591,7 @@ def workout_downloadwind_view(request,id=0, # create bearing rowdata = rdata(f1) - if rowdata == 0: + if rowdata == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") try: @@ -2623,7 +2619,7 @@ def workout_downloadwind_view(request,id=0, if message is not None: try: row.notes += "\n"+message - except TypeError: + except TypeError: # pragma: no cover if message is not None and row.notes is not None: row.notes += message @@ -2664,7 +2660,7 @@ def workout_downloadmetar_view(request,id=0, # create bearing rowdata = rdata(f1) - if rowdata == 0: + if rowdata == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") try: @@ -2691,7 +2687,7 @@ def workout_downloadmetar_view(request,id=0, message = winddata[2] try: row.notes += "\n"+message - except TypeError: + except TypeError: # pragma: no cover if message is not None: try: row.notes += message @@ -2752,7 +2748,7 @@ def workout_wind_view(request,id=0,message="",successmessage=""): # create bearing rowdata = rdata(f1) - if row == 0: + if row == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") @@ -2762,7 +2758,7 @@ def workout_wind_view(request,id=0,message="",successmessage=""): except KeyError: hascoordinates = 0 - if hascoordinates and not latitude.std(): + if hascoordinates and not latitude.std(): # pragma: no cover hascoordinates = 0 try: @@ -2806,7 +2802,7 @@ def workout_wind_view(request,id=0,message="",successmessage=""): rowdata.write_csv(f1,gzip=True) - else: + else: # pragma: no cover message = "Invalid Form" messages.error(request,message) kwargs = { @@ -2868,7 +2864,7 @@ def workout_stream_view(request,id=0,message="",successmessage=""): r = getrower(u) rowdata = rdata(f1) - if rowdata == 0: + if rowdata == 0: # pragma: no cover messages.info(request,"Error: CSV data file not found") url = reverse('workout_edit_view',kwargs={'id':encoder.encode_hex(row.id)}) return HttpResponseRedirect(url) @@ -2891,7 +2887,7 @@ def workout_stream_view(request,id=0,message="",successmessage=""): rowdata.write_csv(f1,gzip=True) - else: + else: # pragma: no cover message = "Invalid Form" messages.error(request,message) kwargs = { @@ -2968,7 +2964,7 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""): # load row data & create power/wind/bearing columns if not set f1 = w.csvfilename rowdata = rdata(f1) - if rowdata == 0: + if rowdata == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") try: vstream = rowdata.df['vstream'] @@ -3025,7 +3021,7 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""): response = HttpResponseRedirect(url) return response - else: + else: # pragma: no cover message = "Invalid Form" messages.error(request,message) kwargs = { @@ -3098,7 +3094,7 @@ def instroke_view(request,id=0): try: instrokemetrics = rowdata.get_instroke_columns() instrokemetrics = [m for m in instrokemetrics if not m in nometrics] - except AttributeError: + except AttributeError: # pragma: no cover instrokemetrics = [] @@ -3484,7 +3480,7 @@ def workout_stats_view(request,id=0,message="",successmessage=""): try: fielddict.pop('pace') - except KeyError: + except KeyError: # pragma: no cover pass for field,verbosename in fielddict.items(): @@ -3501,7 +3497,7 @@ def workout_stats_view(request,id=0,message="",successmessage=""): 'verbosename':verbosename, } stats[field] = thedict - except KeyError: + except KeyError: # pragma: no cover pass # Create a dict with correlation values @@ -3513,7 +3509,7 @@ def workout_stats_view(request,id=0,message="",successmessage=""): for field2,verbosename2 in fielddict.items(): try: thedict[verbosename2] = cor.loc[field1,field2] - except KeyError: + except KeyError: # pragma: no cover thedict[verbosename2] = 0 cordict[verbosename1] = thedict @@ -3578,7 +3574,7 @@ def workout_stats_view(request,id=0,message="",successmessage=""): 'value': hrdrift, 'unit': '%', } - except (ZeroDivisionError,ValueError): + except (ZeroDivisionError,ValueError): # pragma: no cover pass # TRIMP @@ -3753,7 +3749,7 @@ def workout_workflow_view(request,id): try: template.loader.get_template(t) middleTemplates.append(t) - except template.TemplateDoesNotExist: + except template.TemplateDoesNotExist: # pragma: no cover pass leftTemplates = [] @@ -3761,7 +3757,7 @@ def workout_workflow_view(request,id): try: template.loader.get_template(t) leftTemplates.append(t) - except template.TemplateDoesNotExist: + except template.TemplateDoesNotExist: # pragma: no cover pass @@ -3804,7 +3800,7 @@ def workout_flexchart3_view(request,*args,**kwargs): try: id = kwargs['id'] - except KeyError: + except KeyError: # pragma: no cover raise Http404("Invalid workout number") if 'promember' in kwargs: @@ -3841,7 +3837,7 @@ def workout_flexchart3_view(request,*args,**kwargs): if favorites: try: t = favorites[favoritenr].xparam - except IndexError: + except IndexError: # pragma: no cover favoritenr=0 except AssertionError: favoritenr=0 @@ -3864,7 +3860,7 @@ def workout_flexchart3_view(request,*args,**kwargs): if 'yparam2' in kwargs: yparam2 = kwargs['yparam2'] - if yparam2 == '': + if yparam2 == '': # pragma: no cover yparam2 = 'None' else: if favorites: @@ -3879,7 +3875,7 @@ def workout_flexchart3_view(request,*args,**kwargs): if favoritenr>=0 and r.showfavoritechartnotes: try: favoritechartnotes = favorites[favoritenr].notes - except IndexError: + except IndexError: # pragma: no cover favoritechartnotes = '' else: favoritechartnotes = '' @@ -3992,12 +3988,12 @@ def workout_flexchart3_view(request,*args,**kwargs): rowdata = rdata(row.csvfilename) try: rowdata.set_instroke_metrics() - except (AttributeError,TypeError): + except (AttributeError,TypeError): # pragma: no cover pass try: additionalmetrics = rowdata.get_additional_metrics() additionalmetrics = [m for m in additionalmetrics if not m in nometrics] - except AttributeError: + except AttributeError: # pragma: no cover additionalmetrics = [] @@ -4387,6 +4383,19 @@ def workout_edit_view(request,id=0,message="",successmessage=""): except: pass + if request.user.rower.rowerplan == 'basic' and 'nklinklogbook' in row.workoutsource: + data = getsmallrowdata_db(['wash'],ids=[encoder.decode_hex(id)]) + try: + if data['wash'].std() != 0: + url = reverse('paidplans_view') + messages.info( + request, + 'Some Empower Oarlock data are only available to users with a paid plan'.format(u=url) + ) + except: + pass + + form = WorkoutForm(instance=row) if request.method == 'POST': @@ -4410,13 +4419,10 @@ def workout_edit_view(request,id=0,message="",successmessage=""): rpe = form.cleaned_data['rpe'] if not rpe: rpe = -1 - except KeyError: + except KeyError: # pragma: no cover rpe = -1 - try: - ps = form.cleaned_data['plannedsession'] - except KeyError: - ps = None + ps = form.cleaned_data.get('plannedsession',None) try: boattype = request.POST['boattype'] @@ -4557,7 +4563,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""): except (KeyError,AttributeError): hascoordinates = 0 - else: + else: # pragma: no cover hascoordinates = 0 @@ -4570,7 +4576,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""): rowdata.df[' latitude'], rowdata.df[' longitude'], row.name) - except KeyError: + except KeyError: # pragma: no cover pass breadcrumbs = [ @@ -5877,12 +5883,10 @@ def list_videos(request,userid=0): paginator = Paginator(g,8) - page = request.GET.get('page') + page = request.GET.get('page',1) try: g = paginator.page(page) - except PageNotAnInteger: - g = paginator.page(1) except EmptyPage: g = paginator.page(paginator.num_pages) @@ -6005,7 +6009,7 @@ def workout_summary_restore_view(request,id,message="",successmessage=""): powerperc=powerperc,powerzones=r.powerzones, hrzones=r.hrzones) rowdata = rdata(f1,rower=rr) - if rowdata == 0: + if rowdata == 0: # pragma: no cover raise Http404("Error: CSV Data File Not Found") rowdata.restoreintervaldata() rowdata.write_csv(f1,gzip=True) @@ -6019,7 +6023,7 @@ def workout_summary_restore_view(request,id,message="",successmessage=""): res = interactive_chart(encoder.decode_hex(id),promember=1) script = res[0] div = res[1] - except ValueError: + except ValueError: # pragma: no cover pass @@ -6072,7 +6076,7 @@ def workout_split_view(request,id=0): ) for message in mesgs: messages.info(request,message) - except IndexError: + except IndexError: # pragma: no cover messages.error(request,"Something went wrong in Split") @@ -6114,7 +6118,7 @@ def workout_split_view(request,id=0): res = interactive_chart(encoder.decode_hex(id),promember=1) script = res[0] div = res[1] - except ValueError: + except ValueError: # pragma: no cover pass return render(request, 'splitworkout.html', @@ -6263,12 +6267,12 @@ def workout_summary_edit_view(request,id,message="",successmessage="" powerperc=powerperc,powerzones=r.powerzones, hrzones=r.hrzones) rowdata = rdata(f1,rower=rr) - if rowdata == 0: + if rowdata == 0: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") intervalstats = rowdata.allstats() try: itime,idist,itype = rowdata.intervalstats_values() - except TypeError: + except TypeError: # pragma: no cover return HttpResponse("Error: CSV Data File Not Found") nrintervals = len(idist) @@ -6307,7 +6311,7 @@ def workout_summary_edit_view(request,id,message="",successmessage="" try: normspm = int(normspm) - except ValueError: + except ValueError: # pragma: no cover normspm = 18 try: