Private
Public Access
1
0

more coverage related

This commit is contained in:
Sander Roosendaal
2021-04-23 14:18:13 +02:00
parent 99dfb171b5
commit e19158926d
10 changed files with 383 additions and 297 deletions

View File

@@ -38,24 +38,24 @@ from timezonefinder import TimezoneFinder
try:
user = DATABASES['default']['USER']
except KeyError:
except KeyError: # pragma: no cover
user = ''
try:
password = DATABASES['default']['PASSWORD']
except KeyError:
except KeyError: # pragma: no cover
password = ''
try:
database_name = DATABASES['default']['NAME']
except KeyError:
except KeyError: # pragma: no cover
database_name = ''
try:
host = DATABASES['default']['HOST']
except KeyError:
except KeyError: # pragma: no cover
host = ''
try:
port = DATABASES['default']['PORT']
except KeyError:
except KeyError: # pragma: no cover
port = ''
database_url = 'mysql://{user}:{password}@{host}:{port}/{database_name}'.format(
@@ -113,7 +113,7 @@ def strfdelta(tdelta):
try:
minutes,seconds = divmod(tdelta.seconds,60)
tenths = int(tdelta.microseconds/1e5)
except AttributeError:
except AttributeError: # pragma: no cover
minutes,seconds = divmod(tdelta.view(np.int64),60e9)
seconds,rest = divmod(seconds,1e9)
tenths = int(rest/1e8)
@@ -137,13 +137,13 @@ def nicepaceformat(values):
def timedeltaconv(x):
if not np.isnan(x):
dt = datetime.timedelta(seconds=x)
else:
else: # pragma: no cover
dt = datetime.timedelta(seconds=350.)
return dt
def rdata(file,rower=rrower()):
def rdata(file,rower=rrower()): # pragma: no cover
try:
res = rrdata(csvfile=file,rower=rower)
except IOError:
@@ -161,7 +161,7 @@ from rowers.metrics import dtypes
# Creates C2 stroke data
def create_c2_stroke_data_db(
distance,duration,workouttype,
workoutid,starttimeunix,csvfilename,debug=False):
workoutid,starttimeunix,csvfilename,debug=False): # pragma: no cover
nr_strokes = int(distance/10.)
@@ -247,7 +247,7 @@ def add_c2_stroke_data_db(strokedata,workoutid,starttimeunix,csvfilename,
nr_rows = len(unixtime)
try:
try: # pragma: no cover
latcoord = strokedata.loc[:,'lat']
loncoord = strokedata.loc[:,'lon']
except:
@@ -264,12 +264,12 @@ def add_c2_stroke_data_db(strokedata,workoutid,starttimeunix,csvfilename,
try:
spm = strokedata.loc[:,'spm']
except KeyError:
except KeyError: # pragma: no cover
spm = 0*dist2
try:
hr = strokedata.loc[:,'hr']
except KeyError:
except KeyError: # pragma: no cover
hr = 0*spm
pace = strokedata.loc[:,'p']/10.
@@ -278,7 +278,7 @@ def add_c2_stroke_data_db(strokedata,workoutid,starttimeunix,csvfilename,
velo = 500./pace
power = 2.8*velo**3
if workouttype == 'bike':
if workouttype == 'bike': # pragma: no cover
velo = 1000./pace
@@ -320,13 +320,13 @@ def add_c2_stroke_data_db(strokedata,workoutid,starttimeunix,csvfilename,
try:
data = dataprep(df,id=workoutid,bands=False,debug=debug)
except:
except: # pragma: no cover
return 0
return data
def handle_nonpainsled(f2,fileformat,summary=''):
def handle_nonpainsled(f2,fileformat,summary=''): # pragma: no cover
oarlength = 2.89
inboard = 0.88
# handle RowPro:
@@ -413,19 +413,19 @@ def delete_strokedata(id,debug=False):
dirname = 'media/strokedata_{id}.parquet.gz'.format(id=id)
try:
shutil.rmtree(dirname)
except FileNotFoundError:
except FileNotFoundError: # pragma: no cover
pass
def update_strokedata(id,df,debug=False):
delete_strokedata(id,debug=debug)
if debug:
if debug: # pragma: no cover # pragma: no cover
print("updating ",id)
rowdata = dataprep(df,id=id,bands=True,barchart=True,otwpower=True,
debug=debug)
return rowdata
def update_empower(id, inboard, oarlength, boattype, df, f1, debug=False):
def update_empower(id, inboard, oarlength, boattype, df, f1, debug=False): # pragma: no cover
corr_factor = 1.0
if 'x' in boattype:
@@ -452,11 +452,11 @@ def update_empower(id, inboard, oarlength, boattype, df, f1, debug=False):
if success:
delete_strokedata(id,debug=debug)
if debug:
if debug: # pragma: no cover
print("updated ",id)
print("correction ",corr_factor)
else:
if debug:
if debug: # pragma: no cover
print("not updated ",id)
@@ -469,7 +469,7 @@ def update_empower(id, inboard, oarlength, boattype, df, f1, debug=False):
return success
def testdata(time,distance,pace,spm):
def testdata(time,distance,pace,spm): # pragma: no cover
t1 = np.issubdtype(time,np.number)
t2 = np.issubdtype(distance,np.number)
t3 = np.issubdtype(pace,np.number)
@@ -486,7 +486,7 @@ def getsmallrowdata_db(columns,ids=[],debug=False):
df = pd.DataFrame()
if len(ids)>1:
if len(ids)>1: # pragma: no cover
for id, f in zip(ids,csvfilenames):
try:
df = pd.read_parquet(f,columns=columns,engine='pyarrow')
@@ -503,16 +503,16 @@ def getsmallrowdata_db(columns,ids=[],debug=False):
elif len(ids)==1:
try:
df = pd.read_parquet(csvfilenames[0],columns=columns,engine='pyarrow')
except (OSError,IndexError):
except (OSError,IndexError): # pragma: no cover
df = pd.DataFrame()
else:
else: # pragma: no cover
df = pd.DataFrame()
return df
def update_workout_field_sql(workoutid,fieldname,value,debug=False):
if debug:
if debug: # pragma: no cover # pragma: no cover
engine = create_engine(database_url_debug, echo=False)
else:
engine = create_engine(database_url, echo=False)
@@ -530,7 +530,7 @@ def update_workout_field_sql(workoutid,fieldname,value,debug=False):
return 1
def update_c2id_sql(id,c2id):
def update_c2id_sql(id,c2id): # pragma: no cover
engine = create_engine(database_url, echo=False)
table = 'rowers_workout'
@@ -548,7 +548,7 @@ def update_c2id_sql(id,c2id):
def read_cols_df_sql(ids,columns,debug=False):
def read_cols_df_sql(ids,columns,debug=False): # pragma: no cover
columns = list(columns)+['distance','spm']
columns = [x for x in columns if x != 'None']
columns = list(set(columns))
@@ -579,7 +579,7 @@ def read_cols_df_sql(ids,columns,debug=False):
return df
def read_df_sql(id,debug=False):
def read_df_sql(id,debug=False): # pragma: no cover
try:
f = 'media/strokedata_{id}.parquet.gz'.format(id=id)
df = pd.read_parquet(f)
@@ -590,8 +590,8 @@ def read_df_sql(id,debug=False):
return df
def getcpdata_sql(rower_id,table='cpdata',debug=False):
if debug:
def getcpdata_sql(rower_id,table='cpdata',debug=False): # pragma: no cover
if debug: # pragma: no cover
engine = create_engine(database_url_debug, echo=False)
else:
engine = create_engine(database_url, echo=False)
@@ -605,8 +605,8 @@ def getcpdata_sql(rower_id,table='cpdata',debug=False):
return df
def deletecpdata_sql(rower_id,table='cpdata',debug=False):
if debug:
def deletecpdata_sql(rower_id,table='cpdata',debug=False): # pragma: no cover
if debug: # pragma: no cover
engine = create_engine(database_url_debug, echo=False)
else:
engine = create_engine(database_url, echo=False)
@@ -618,15 +618,15 @@ def deletecpdata_sql(rower_id,table='cpdata',debug=False):
with engine.connect() as conn, conn.begin():
try:
result = conn.execute(query)
except:
except: # pragma: no cover
print("Database locked")
conn.close()
engine.dispose()
def delete_agegroup_db(age,sex,weightcategory,debug=False):
if debug:
if debug: # pragma: no cover
engine = create_engine(database_url_debug, echo=False)
else:
else: # pragma: no cover
engine = create_engine(database_url, echo=False)
query = sa.text('DELETE from {table} WHERE age={age} and weightcategory = {weightcategory} and sex={sex};'.format(
@@ -638,7 +638,7 @@ def delete_agegroup_db(age,sex,weightcategory,debug=False):
with engine.connect() as conn, conn.begin():
try:
result = conn.execute(query)
except:
except: # pragma: no cover
print("Database locked")
conn.close()
engine.dispose()
@@ -664,7 +664,7 @@ def update_agegroup_db(age,sex,weightcategory,wcdurations,wcpower,
df.replace([np.inf,-np.inf],np.nan,inplace=True)
df.dropna(axis=0,inplace=True)
if debug:
if debug: # pragma: no cover # pragma: no cover
engine = create_engine(database_url_debug, echo=False)
else:
engine = create_engine(database_url, echo=False)
@@ -690,7 +690,7 @@ def updatecpdata_sql(rower_id,delta,cp,table='cpdata',distance=pd.Series([]),deb
if not distance.empty:
df['distance'] = distance
if debug:
if debug: # pragma: no cover
engine = create_engine(database_url_debug, echo=False)
else:
engine = create_engine(database_url, echo=False)
@@ -706,7 +706,7 @@ def updatecpdata_sql(rower_id,delta,cp,table='cpdata',distance=pd.Series([]),deb
def smalldataprep(therows,xparam,yparam1,yparam2):
def smalldataprep(therows,xparam,yparam1,yparam2): # pragma: no cover
df = pd.DataFrame()
if yparam2 == 'None':
yparam2 = 'power'
@@ -749,8 +749,8 @@ def smalldataprep(therows,xparam,yparam1,yparam2):
def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
empower=True,debug=False,inboard=0.88,forceunit='lbs'):
if rowdatadf.empty:
if debug:
if rowdatadf.empty: # pragma: no cover
if debug: # pragma: no cover
print("empty")
return 0
@@ -776,7 +776,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
drivelength = rowdatadf.loc[:,' DriveLength (meters)']
try:
workoutstate = rowdatadf.loc[:,' WorkoutState']
except KeyError:
except KeyError: # pragma: no cover
workoutstate = 0*hr
peakforce = rowdatadf.loc[:,' PeakDriveForce (lbs)']
@@ -789,18 +789,18 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
recoverytime = rowdatadf.loc[:,' StrokeRecoveryTime (ms)']
rhythm = 100.*drivetime/(recoverytime+drivetime)
rhythm = rhythm.fillna(value=0)
except:
except: # pragma: no cover
rhythm = 0.0*forceratio
f = rowdatadf['TimeStamp (sec)'].diff().mean()
if f != 0:
try:
windowsize = 2*(int(10./(f)))+1
except ValueError:
except ValueError: # pragma: no cover
windowsize = 1
else:
else: # pragma: no cover
windowsize = 1
if windowsize <= 3:
if windowsize <= 3: # pragma: no cover
windowsize = 5
if windowsize > 3 and windowsize<len(hr):
@@ -811,7 +811,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
try:
t2 = t.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
except TypeError:
except TypeError: # pragma: no cover
t2 = 0*t
@@ -819,19 +819,19 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
try:
drivespeed = drivelength/rowdatadf[' DriveTime (ms)']*1.0e3
except KeyError:
except KeyError: # pragma: no cover
drivespeed = 0.0*rowdatadf['TimeStamp (sec)']
except TypeError:
except TypeError: # pragma: no cover
drivespeed = 0.0*rowdatadf['TimeStamp (sec)']
drivespeed = drivespeed.fillna(value=0)
try:
driveenergy = rowdatadf['driveenergy']
except KeyError:
except KeyError: # pragma: no cover
if forceunit == 'lbs':
driveenergy = drivelength*averageforce*lbstoN
else:
else: # pragma: no cover
drivenergy = drivelength*averageforce
distance = rowdatadf.loc[:,'cum_dist']
@@ -882,7 +882,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
try:
tel = rowdatadf.loc[:,' ElapsedTime (sec)']
except KeyError:
except KeyError: # pragma: no cover
rowdatadf[' ElapsedTime (sec)'] = rowdatadf['TimeStamp (sec)']
@@ -918,7 +918,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
arclength = (inboard-0.05)*(np.radians(finish)-np.radians(catch))
if arclength.mean()>0:
if arclength.mean()>0: # pragma: no cover
drivelength = arclength
elif drivelength.mean() == 0:
drivelength = driveenergy/(averageforce*4.44822)
@@ -931,7 +931,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
try:
totalangle = finish-catch
effectiveangle = finish-wash-catch-slip
except ValueError:
except ValueError: # pragma: no cover
totalangle = 0*t
effectiveangle = 0*t
@@ -939,39 +939,39 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
if windowsize > 3 and windowsize<len(slip):
try:
wash = savgol_filter(wash,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
slip = savgol_filter(slip,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
catch = savgol_filter(catch,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
finish = savgol_filter(finish,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
peakforceangle = savgol_filter(peakforceangle,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
driveenergy = savgol_filter(driveenergy,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
drivelength = savgol_filter(drivelength,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
totalangle = savgol_filter(totalangle,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
try:
effectiveangle = savgol_filter(effectiveangle,windowsize,3)
except TypeError:
except TypeError: # pragma: no cover
pass
velo = 500./p
@@ -993,7 +993,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
data['totalangle'] = totalangle
data['effectiveangle'] = effectiveangle
data['efficiency'] = efficiency
except ValueError:
except ValueError: # pragma: no cover
pass
if otwpower: