more coverage related
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user