Added StrokeData model
This commit is contained in:
@@ -9,6 +9,29 @@ from pandas import DataFrame,Series
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
from django.conf import settings
|
||||
from sqlalchemy import create_engine
|
||||
import sqlalchemy as sa
|
||||
|
||||
user = settings.DATABASES['default']['USER']
|
||||
password = settings.DATABASES['default']['PASSWORD']
|
||||
database_name = settings.DATABASES['default']['NAME']
|
||||
host = settings.DATABASES['default']['HOST']
|
||||
port = settings.DATABASES['default']['PORT']
|
||||
|
||||
database_url = 'mysql://{user}:{password}@{host}:{port}/{database_name}'.format(
|
||||
user=user,
|
||||
password=password,
|
||||
database_name=database_name,
|
||||
host=host,
|
||||
port=port,
|
||||
)
|
||||
|
||||
if settings.DEBUG:
|
||||
database_url = 'sqlite:///db.sqlite3'
|
||||
|
||||
engine = create_engine(database_url, echo=False)
|
||||
|
||||
from scipy.signal import savgol_filter
|
||||
|
||||
import datetime
|
||||
@@ -59,6 +82,14 @@ def rdata(file,rower=rrower()):
|
||||
|
||||
return res
|
||||
|
||||
def getrowdata_db(id=0):
|
||||
data = read_df_sql(id)
|
||||
if data.empty:
|
||||
rowdata,row = getrowdata(id=id)
|
||||
data = dataprep(rowdata.df,id=id,bands=True,barchart=True,otwpower=True)
|
||||
|
||||
return data
|
||||
|
||||
def getrowdata(id=0):
|
||||
|
||||
# check if valid ID exists (workout exists)
|
||||
@@ -79,7 +110,15 @@ def getrowdata(id=0):
|
||||
|
||||
return rowdata,row
|
||||
|
||||
def dataprep(rowdatadf,bands=False,barchart=False,otwpower=False):
|
||||
# temporary
|
||||
def read_df_sql(id):
|
||||
df = pd.read_sql_query(sa.text('SELECT * FROM strokedata WHERE workoutid={id}'.format(
|
||||
id=id)), engine)
|
||||
return df
|
||||
|
||||
|
||||
|
||||
def dataprep(rowdatadf,id=0,bands=False,barchart=False,otwpower=False):
|
||||
rowdatadf.set_index([range(len(rowdatadf))],inplace=True)
|
||||
t = rowdatadf.ix[:,'TimeStamp (sec)']
|
||||
t = pd.Series(t-rowdatadf.ix[0,'TimeStamp (sec)'])
|
||||
@@ -193,5 +232,11 @@ def dataprep(rowdatadf,bands=False,barchart=False,otwpower=False):
|
||||
|
||||
data = data.replace([-np.inf,np.inf],np.nan)
|
||||
data = data.fillna(method='ffill')
|
||||
|
||||
|
||||
# write data if id given
|
||||
if id != 0:
|
||||
data['workoutid'] = id
|
||||
with engine.connect() as conn, conn.begin():
|
||||
data.to_sql('strokedata',engine,if_exists='append',index=False)
|
||||
|
||||
return data
|
||||
|
||||
Reference in New Issue
Block a user