tasks
This commit is contained in:
@@ -2553,9 +2553,10 @@ def handle_otwsetpower(self, f1, boattype, boatclass, coastalbrand, weightvalue,
|
|||||||
totaltime = totaltime + rowdata.df.loc[0, ' ElapsedTime (sec)']
|
totaltime = totaltime + rowdata.df.loc[0, ' ElapsedTime (sec)']
|
||||||
except KeyError: # pragma: no cover
|
except KeyError: # pragma: no cover
|
||||||
pass
|
pass
|
||||||
df = getsmallrowdata_db(
|
df = getsmallrowdata_pd(
|
||||||
['power', 'workoutid', 'time'], ids=[workoutid],
|
['power', 'workoutid', 'time'], ids=[workoutid],
|
||||||
debug=debug)
|
debug=debug)
|
||||||
|
|
||||||
thesecs = totaltime
|
thesecs = totaltime
|
||||||
maxt = 1.05 * thesecs
|
maxt = 1.05 * thesecs
|
||||||
logarr = datautils.getlogarr(maxt)
|
logarr = datautils.getlogarr(maxt)
|
||||||
@@ -3171,23 +3172,22 @@ graphql_url = "https://rp3rowing-app.com/graphql"
|
|||||||
|
|
||||||
@app.task
|
@app.task
|
||||||
def handle_update_wps(rid, types, ids, mode, debug=False, **kwargs):
|
def handle_update_wps(rid, types, ids, mode, debug=False, **kwargs):
|
||||||
df = getsmallrowdata_db(['time', 'driveenergy'], ids=ids)
|
df = read_data(['time', 'driveenergy'], ids=ids)
|
||||||
try:
|
try:
|
||||||
mask = df['driveenergy'] > 100
|
wps_median = int(df.filter(pl.col("driveenergy")>100)["driveenergy"].median())
|
||||||
except (KeyError, TypeError): # pragma: no cover
|
rower = Rower.objects.get(id=rid)
|
||||||
return 0
|
if mode == 'water':
|
||||||
try:
|
rower.median_wps = wps_median
|
||||||
wps_median = int(df.loc[mask, 'driveenergy'].median())
|
else: # pragma: no cover
|
||||||
|
rower.median_wps_erg = wps_median
|
||||||
|
|
||||||
|
rower.save()
|
||||||
except ValueError: # pragma: no cover
|
except ValueError: # pragma: no cover
|
||||||
return 0
|
wps_median = 0
|
||||||
|
except OverflowError:
|
||||||
rower = Rower.objects.get(id=rid)
|
wps_median = 0
|
||||||
if mode == 'water':
|
except ColumnNotFoundError:
|
||||||
rower.median_wps = wps_median
|
wps_median = 0
|
||||||
else:
|
|
||||||
rower.median_wps_erg = wps_median
|
|
||||||
|
|
||||||
rower.save()
|
|
||||||
|
|
||||||
return wps_median
|
return wps_median
|
||||||
|
|
||||||
|
|||||||
@@ -357,8 +357,8 @@ def mocked_getsmallrowdata_db_water(*args, **kwargs): # pragma: no cover
|
|||||||
|
|
||||||
return df
|
return df
|
||||||
|
|
||||||
def mocked_getsmallrowdata_db_wps(*args, **kwargs): # pragma: no cover
|
def mocked_read_data_wps(*args, **kwargs): # pragma: no cover
|
||||||
df = pd.read_csv('rowers/tests/testdata/driveenergies.csv')
|
df = pl.read_csv('rowers/tests/testdata/driveenergies.csv')
|
||||||
|
|
||||||
return df
|
return df
|
||||||
|
|
||||||
|
|||||||
@@ -486,8 +486,8 @@ class AsyncTaskTests(TestCase):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
@patch('rowers.dataprep.read_data')
|
||||||
def test_handle_update_wps(self,mocked_getsmallrowdata_db_wps):
|
def test_handle_update_wps(self,mocked_read_data_wps):
|
||||||
ids = [1,2,3]
|
ids = [1,2,3]
|
||||||
|
|
||||||
result = tasks.handle_update_wps(self.r.id,['water'],ids,mode='water')
|
result = tasks.handle_update_wps(self.r.id,['water'],ids,mode='water')
|
||||||
|
|||||||
Reference in New Issue
Block a user