diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index 3acdf49e..8c36c546 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -96,7 +96,7 @@ from dask.delayed import delayed import pyarrow.parquet as pq import pyarrow as pa -from pyarrow.lib import ArrowInvalid +from pyarrow.lib import ArrowInvalid, ArrowTypeError from django.utils import timezone from django.utils.timezone import get_current_timezone @@ -2156,7 +2156,7 @@ def dataplep(rowdatadf, id=0, inboard=0.88, forceunit='lbs', bands=True, barchar try: df = pl.from_pandas(rowdatadf) - except ArrowInvalid: + except (ArrowInvalid, ArrowTypeError): for k, v in dtypes.items(): try: rowdatadf[k] = rowdatadf[k].astype(v) diff --git a/rowers/forms.py b/rowers/forms.py index 641afe89..66d723c0 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -1216,7 +1216,7 @@ bulkactions = ( ('rower assign','rower assign'), ) destinations = ( - ('C2','C2'), + ('c2','c2'), ('strava','strava'), ('sporttracks','sporttracks'), ('trainingpeaks','trainingpeaks') diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 3e1336fc..891e7a14 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -342,7 +342,6 @@ def interactive_boxchart(datadf, fieldname, extratitle='', return '', 'Not enough data' - datadf = datadf.with_columns((pl.col("date").dt.strftime("%Y-%m-%d")).alias("date")) datadf = datadf.with_columns((pl.col(fieldname)).alias("value")) @@ -352,7 +351,6 @@ def interactive_boxchart(datadf, fieldname, extratitle='', "data": data_dict } - script, div = get_chart("/boxplot", boxplot_data, debug=False) return script, div @@ -1802,7 +1800,7 @@ def interactive_flexchart_stacked(id, r, xparam='time', 'metrics': metrics_list, } - script, div = get_chart("/stacked", chart_data, debug=True) + script, div = get_chart("/stacked", chart_data, debug=False) return script, div diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 15b6e7a2..4c96e43b 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index 5fa3fa82..a2c254f9 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -938,17 +938,17 @@ def boxplotdata(workouts, options): try: datadf = datadf.filter( - pl.col("spm")>spmmin, - pl.col("spm")workmin, - pl.col("driveenergy")=spmmin, + pl.col("spm")<=spmmax, + pl.col("driveenergy")>=workmin, + pl.col("driveenergy")<=workmax, ) except ColumnNotFoundError: pass try: datadf = datadf.with_columns((pl.col("workoutid").apply(lambda x: datemapping[x])).alias("date")) - except ComputeError: + except ComputeError as e: return ("","No Valid Data") if userid == 0: # pragma: no cover @@ -959,7 +959,10 @@ def boxplotdata(workouts, options): savedata = options.get('savedata',False) if savedata: # pragma: no cover - return datadf.to_pandas() + return datadf.to_pandas() + + + script, div = interactive_boxchart(datadf, plotfield, extratitle=extratitle, diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 63ae2609..3f0be6be 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -455,7 +455,8 @@ OAUTH2_PROVIDER = { 'ALLOWED_REDIRECT_URI_SCHEMES': ["http", "https", "rowingcoachexport", - "com.performancephones.crewnerd"], + "com.performancephones.crewnerd", + "pocketcox"], 'ACCESS_TOKEN_MODEL': 'oauth2_provider.AccessToken', 'APPLICATION_MODEL': 'oauth2_provider.Application', 'REFRESH_TOKEN_MODEL': 'oauth2_provider.RefreshToken',