not working 2
This commit is contained in:
@@ -31,6 +31,11 @@ from zipfile import BadZipFile
|
||||
import zipfile
|
||||
import os
|
||||
from rowers.models import strokedatafields
|
||||
import grpc
|
||||
import grpc.experimental
|
||||
import rowers.rowing_workout_metrics_pb2 as metrics_pb2
|
||||
import rowers.rowing_workout_metrics_pb2_grpc as metrics_pb2_grpc
|
||||
import traceback
|
||||
|
||||
from rowingdata import (
|
||||
KinoMapParser,
|
||||
@@ -499,9 +504,48 @@ def calculate_goldmedalstandard(rower, workout, recurrance=True):
|
||||
def setcp(workout, background=False, recurrance=True):
|
||||
filename = 'media/cpdata_{id}.parquet.gz'.format(id=workout.id)
|
||||
|
||||
csvfilename = workout.csvfilename
|
||||
# check what the real file name is
|
||||
if os.path.exists(csvfilename):
|
||||
csvfile = csvfilename
|
||||
elif os.path.exists(csvfilename+'.csv'): # pragma: no cover
|
||||
csvfile = csvfilename+'.csv'
|
||||
elif os.path.exists(csvfilename+'.gz'): # pragma: no cover
|
||||
csvfile = csvfilename+'.gz'
|
||||
else: # pragma: no cover
|
||||
return pd.DataFrame({'delta': [], 'cp': []}), pd.Series(dtype='float'), pd.Series(dtype='float')
|
||||
|
||||
strokesdf = getsmallrowdata_db(
|
||||
['power', 'workoutid', 'time'], ids=[workout.id])
|
||||
|
||||
protos = grpc.protos("rowing_workout_metrics.proto")
|
||||
services = grpc.services("rowing_workout_metrics.proto")
|
||||
req = protos.CPRequest(
|
||||
filename = csvfile,
|
||||
filetype = "CSV",
|
||||
tarr = datautils.getlogarr(1.05*strokesdf['time'].max())
|
||||
)
|
||||
response = services.GetCP(req, "localhost:50052", insecure=True)
|
||||
delta = response.delta
|
||||
cpvalues = response.power
|
||||
powermean = response.avgpower
|
||||
|
||||
df = pd.DataFrame({
|
||||
'delta': delta,
|
||||
'cp': cpvalues,
|
||||
'id': workout.id,
|
||||
})
|
||||
df.to_parquet(filename, engine='fastparquet', compression='GZIP')
|
||||
if recurrance:
|
||||
goldmedalstandard, goldmedalduration = calculate_goldmedalstandard(
|
||||
workout.user, workout)
|
||||
workout.goldmedalstandard = goldmedalstandard
|
||||
workout.goldmedalduration = goldmedalduration
|
||||
workout.save()
|
||||
return df, delta, cpvalues
|
||||
|
||||
|
||||
|
||||
try:
|
||||
if strokesdf['power'].std() == 0:
|
||||
return pd.DataFrame(), pd.Series(dtype='float'), pd.Series(dtype='float')
|
||||
@@ -682,6 +726,7 @@ def fetchcp_new(rower, workouts):
|
||||
for workout in workouts:
|
||||
cpfile = 'media/cpdata_{id}.parquet.gz'.format(id=workout.id)
|
||||
try:
|
||||
df, delta, cpvalues = setcp(workout)
|
||||
df = pd.read_parquet(cpfile)
|
||||
df['workout'] = str(workout)
|
||||
df['url'] = workout.url()
|
||||
|
||||
Reference in New Issue
Block a user