Private
Public Access
1
0

coverage exceptions

This commit is contained in:
2024-04-29 22:20:34 +02:00
parent e83d0a26f6
commit a9e63e85db
3 changed files with 24 additions and 24 deletions

View File

@@ -193,7 +193,7 @@ def remove_nulls_pl(data):
if not data.is_empty(): if not data.is_empty():
try: try:
data = data.drop_nulls() data = data.drop_nulls()
except: except: # pragma: no cover
pass pass
return data return data
@@ -401,7 +401,7 @@ def filter_df(datadf, fieldname, value, largerthan=True):
mask = datadf[fieldname] >= value mask = datadf[fieldname] >= value
datadf.loc[mask, fieldname] = np.nan datadf.loc[mask, fieldname] = np.nan
except TypeError: except TypeError: # pragma: no cover
pass pass
return datadf return datadf
@@ -430,7 +430,7 @@ def clean_df_stats(datadf, workstrokesonly=True, ignorehr=True,
except KeyError: except KeyError:
try: try:
datadf['workoutid'] = 0 datadf['workoutid'] = 0
except TypeError: except TypeError: # pragma: no cover
datadf = datadf.with_columns(pl.lit(0).alias("workoutid")) datadf = datadf.with_columns(pl.lit(0).alias("workoutid"))
before = {} before = {}
@@ -525,7 +525,7 @@ def clean_df_stats(datadf, workstrokesonly=True, ignorehr=True,
pass pass
# clean data for useful ranges per column # clean data for useful ranges per column
if not ignorehr: if not ignorehr: # pragma: no cover
try: try:
mask = datadf['hr'] < 30 mask = datadf['hr'] < 30
datadf.mask(mask, inplace=True) datadf.mask(mask, inplace=True)
@@ -676,7 +676,7 @@ def clean_df_stats(datadf, workstrokesonly=True, ignorehr=True,
after = {} after = {}
if for_chart: if for_chart: # pragma: no cover
return datadf return datadf
for workoutid in data_orig['workoutid'].unique(): for workoutid in data_orig['workoutid'].unique():
after[workoutid] = len( after[workoutid] = len(
@@ -685,22 +685,22 @@ def clean_df_stats(datadf, workstrokesonly=True, ignorehr=True,
if ratio < 0.01 or after[workoutid] < 2: if ratio < 0.01 or after[workoutid] < 2:
return data_orig return data_orig
return datadf return datadf # pragma: no cover
def replace_zeros_with_nan(x): def replace_zeros_with_nan(x): # pragma: no cover
return np.nan if x == 0 else x return np.nan if x == 0 else x
def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True, def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
ignoreadvanced=False, for_chart=False): ignoreadvanced=False, for_chart=False): # pragma: no cover
# clean data remove zeros and negative values # clean data remove zeros and negative values
try: try:
_ = datadf['workoutid'].unique() _ = datadf['workoutid'].unique()
except KeyError: except KeyError: # pragma: no cover
try: try:
datadf['workoutid'] = 0 datadf['workoutid'] = 0
except TypeError: except TypeError:
datadf = datadf.with_columns(pl.lit(0).alias("workoutid")) datadf = datadf.with_columns(pl.lit(0).alias("workoutid"))
except ColumnNotFoundError: except ColumnNotFoundError: # pragma: no cover
datadf = datadf.with_columns(pl.lit(0).alias("workoutid")) datadf = datadf.with_columns(pl.lit(0).alias("workoutid"))
before = {} before = {}
@@ -711,23 +711,23 @@ def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
data_orig = datadf.clone() data_orig = datadf.clone()
# bring metrics which have negative values to positive domain # bring metrics which have negative values to positive domain
if len(datadf) == 0: if len(datadf) == 0: # pragma: no cover
return data_orig return data_orig
try: try:
datadf = datadf.with_columns((-pl.col('catch')).alias('catch')) datadf = datadf.with_columns((-pl.col('catch')).alias('catch'))
except (KeyError, TypeError): except (KeyError, TypeError): # pragma: no cover
pass pass
except(ComputeError, InvalidOperationError, ColumnNotFoundError): except(ComputeError, InvalidOperationError, ColumnNotFoundError):
return data_orig return data_orig
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('peakforceangle')+1000).alias('peakforceangle')) datadf = datadf.with_columns((pl.col('peakforceangle')+1000).alias('peakforceangle'))
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass
except(ComputeError, InvalidOperationError, ColumnNotFoundError): except(ComputeError, InvalidOperationError, ColumnNotFoundError):
return data_orig return data_orig
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('hr')+10).alias('hr')) datadf = datadf.with_columns((pl.col('hr')+10).alias('hr'))
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass
@@ -735,7 +735,7 @@ def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
return data_orig return data_orig
# protect 0 spm values from being nulled # protect 0 spm values from being nulled
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('spm')+1.0).alias('spm')) datadf = datadf.with_columns((pl.col('spm')+1.0).alias('spm'))
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass
@@ -743,14 +743,14 @@ def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
return data_orig return data_orig
# protect 0 workoutstate values from being nulled # protect 0 workoutstate values from being nulled
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('workoutstate')+1).alias('workoutstate')) datadf = datadf.with_columns((pl.col('workoutstate')+1).alias('workoutstate'))
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass
except(ComputeError, InvalidOperationError, ColumnNotFoundError): except(ComputeError, InvalidOperationError, ColumnNotFoundError):
return data_orig return data_orig
try: try: # pragma: no cover
datadf = datadf.select(pl.all().clip(lower_bound=0)) datadf = datadf.select(pl.all().clip(lower_bound=0))
# datadf = datadf.clip(lower=0) # datadf = datadf.clip(lower=0)
except (TypeError): except (TypeError):
@@ -774,9 +774,9 @@ def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
'wash', 'wash',
'peakforceangle', 'peakforceangle',
'effectiveangle', 'effectiveangle',
] ] # pragma: no cover
for col in datadf.columns: for col in datadf.columns: # pragma: no cover
datadf = datadf.with_columns( datadf = datadf.with_columns(
pl.when(datadf[col] == 0).then(pl.lit(np.nan)).otherwise(datadf[col]), pl.when(datadf[col] == 0).then(pl.lit(np.nan)).otherwise(datadf[col]),
name=col name=col
@@ -785,24 +785,24 @@ def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
# datadf = datadf.map_partitions(lambda df:df.replace(to_replace=0,value=np.nan)) # datadf = datadf.map_partitions(lambda df:df.replace(to_replace=0,value=np.nan))
# bring spm back to real values # bring spm back to real values
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('spm')-1.0).alias('spm')) datadf = datadf.with_columns((pl.col('spm')-1.0).alias('spm'))
except (TypeError, KeyError): except (TypeError, KeyError):
pass pass
# bring workoutstate back to real values # bring workoutstate back to real values
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('workoutstate')-1).alias('workoutstate')) datadf = datadf.with_columns((pl.col('workoutstate')-1).alias('workoutstate'))
except (TypeError, KeyError): except (TypeError, KeyError):
pass pass
# return from positive domain to negative # return from positive domain to negative
try: try: # pragma: no cover
datadf = datadf.with_columns((-pl.col('catch')).alias('catch')) datadf = datadf.with_columns((-pl.col('catch')).alias('catch'))
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass
try: try: # pragma: no cover
datadf = datadf.with_columns((pl.col('peakforceangle')-1000).alias('peakforceangle')) datadf = datadf.with_columns((pl.col('peakforceangle')-1000).alias('peakforceangle'))
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass

View File

@@ -705,7 +705,7 @@ class InteractivePlotTests(TestCase):
@patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.create_engine')
@patch('rowers.dataprep.read_data', side_effect=mocked_read_data) @patch('rowers.dataprep.read_data', side_effect=mocked_read_data)
def test_interactive_chart(self, mocked_sqlalchemy, def test_interactive_chart(self, mocked_sqlalchemy,
mocked_getsmallrowdata_db): mocked_read_data):
workout = Workout.objects.filter(user=self.r,workouttype__in=mytypes.rowtypes)[0] workout = Workout.objects.filter(user=self.r,workouttype__in=mytypes.rowtypes)[0]
id = workout.id id = workout.id

Binary file not shown.