Private
Public Access
1
0

removing some warnings

This commit is contained in:
Sander Roosendaal
2021-04-14 13:06:34 +02:00
parent 196548fdcc
commit aa2315cb9b
12 changed files with 250 additions and 62 deletions

View File

@@ -1858,7 +1858,6 @@ def parsenonpainsled(fileformat,f2,summary,startdatetime='',empowerfirmware=None
if fileformat == 'nklinklogbook' and empowerfirmware is not None: if fileformat == 'nklinklogbook' and empowerfirmware is not None:
if inboard is not None and oarlength is not None: if inboard is not None and oarlength is not None:
row = NKLiNKLogbookParser(f2,firmware=empowerfirmware,inboard=inboard,oarlength=oarlength) row = NKLiNKLogbookParser(f2,firmware=empowerfirmware,inboard=inboard,oarlength=oarlength)
print(row,'aap')
else: else:
row = NKLiNKLogbookParser(f2) row = NKLiNKLogbookParser(f2)
else: else:
@@ -3038,7 +3037,6 @@ def dataprep(rowdatadf, id=0, bands=True, barchart=True, otwpower=True,
df = dd.from_pandas(data,npartitions=1) df = dd.from_pandas(data,npartitions=1)
df.to_parquet(filename,engine='fastparquet',compression='GZIP') df.to_parquet(filename,engine='fastparquet',compression='GZIP')
return data return data

View File

@@ -754,9 +754,6 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
print("empty") print("empty")
return 0 return 0
if debug:
print("dataprep",id)
# rowdatadf.set_index([range(len(rowdatadf))],inplace=True) # rowdatadf.set_index([range(len(rowdatadf))],inplace=True)
t = rowdatadf.loc[:,'TimeStamp (sec)'] t = rowdatadf.loc[:,'TimeStamp (sec)']
t = pd.Series(t-rowdatadf.loc[:,'TimeStamp (sec)'].iloc[0]) t = pd.Series(t-rowdatadf.loc[:,'TimeStamp (sec)'].iloc[0])

View File

@@ -1556,13 +1556,13 @@ def interactive_forcecurve(theworkouts,workstrokesonly=True,plottype='scatter'):
slider_dist_max.js_on_change('value',callback) slider_dist_max.js_on_change('value',callback)
callback.args["maxdist"] = slider_dist_max callback.args["maxdist"] = slider_dist_max
annotation.sizing_mode = 'fixed' #annotation.sizing_mode = 'fixed'
slider_spm_min.sizing_mode = 'fixed' #slider_spm_min.sizing_mode = 'fixed'
slider_spm_max.sizing_mode = 'fixed' #slider_spm_max.sizing_mode = 'fixed'
slider_work_min.sizing_mode = 'fixed' #slider_work_min.sizing_mode = 'fixed'
slider_work_max.sizing_mode = 'fixed' #slider_work_max.sizing_mode = 'fixed'
slider_dist_min.sizing_mode = 'fixed' #slider_dist_min.sizing_mode = 'fixed'
slider_dist_max.sizing_mode = 'fixed' #slider_dist_max.sizing_mode = 'fixed'
thesliders = layoutcolumn([annotation, thesliders = layoutcolumn([annotation,
slider_spm_min, slider_spm_min,
@@ -1573,7 +1573,7 @@ def interactive_forcecurve(theworkouts,workstrokesonly=True,plottype='scatter'):
slider_work_max, slider_work_max,
] ]
) )
thesliders.sizing_mode = 'fixed' #thesliders.sizing_mode = 'fixed'
layout = layoutrow([thesliders, layout = layoutrow([thesliders,
plot]) plot])
@@ -3663,7 +3663,12 @@ def interactive_cpchart(rower,thedistances,thesecs,theavpower,
success = 0 success = 0
p1 = p0 p1 = p0
if len(thesecs)>=4: if len(thesecs)>=4:
try:
p1, success = optimize.leastsq(errfunc, p0[:], args = (thesecs,theavpower)) p1, success = optimize.leastsq(errfunc, p0[:], args = (thesecs,theavpower))
except (RuntimeError,RuntimeWarning):
factor = fitfunc(p0,thesecs.mean())/theavpower.mean()
p1 = [p0[0]/factor,p0[1]/factor,p0[2],p0[3]]
success = 0
else: else:
factor = fitfunc(p0,thesecs.mean())/theavpower.mean() factor = fitfunc(p0,thesecs.mean())/theavpower.mean()
p1 = [p0[0]/factor,p0[1]/factor,p0[2],p0[3]] p1 = [p0[0]/factor,p0[1]/factor,p0[2],p0[3]]
@@ -4889,12 +4894,12 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
slider_dist_max.js_on_change('value',callback) slider_dist_max.js_on_change('value',callback)
callback.args["maxdist"] = slider_dist_max callback.args["maxdist"] = slider_dist_max
slider_spm_min.sizing_mode = 'fixed' #slider_spm_min.sizing_mode = 'fixed'
slider_spm_max.sizing_mode = 'fixed' #slider_spm_max.sizing_mode = 'fixed'
slider_work_min.sizing_mode = 'fixed' #slider_work_min.sizing_mode = 'fixed'
slider_work_max.sizing_mode = 'fixed' #slider_work_max.sizing_mode = 'fixed'
slider_dist_min.sizing_mode = 'fixed' #slider_dist_min.sizing_mode = 'fixed'
slider_dist_max.sizing_mode = 'fixed' #slider_dist_max.sizing_mode = 'fixed'
thesliders = layoutcolumn([slider_spm_min, thesliders = layoutcolumn([slider_spm_min,
slider_spm_max, slider_spm_max,
@@ -4905,7 +4910,7 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
], ],
) )
thesliders.sizing_mode = 'fixed' #thesliders.sizing_mode = 'fixed'
layout = layoutrow([thesliders, layout = layoutrow([thesliders,
plot]) plot])
@@ -5917,13 +5922,13 @@ def interactive_flex_chart2(id,r,promember=0,
slider_dist_max.js_on_change('value',callback) slider_dist_max.js_on_change('value',callback)
callback.args["maxdist"] = slider_dist_max callback.args["maxdist"] = slider_dist_max
annotation.sizing_mode = 'fixed' #annotation.sizing_mode = 'fixed'
slider_spm_min.sizing_mode = 'fixed' #slider_spm_min.sizing_mode = 'fixed'
slider_spm_max.sizing_mode = 'fixed' #slider_spm_max.sizing_mode = 'fixed'
slider_work_min.sizing_mode = 'fixed' #slider_work_min.sizing_mode = 'fixed'
slider_work_max.sizing_mode = 'fixed' #slider_work_max.sizing_mode = 'fixed'
slider_dist_min.sizing_mode = 'fixed' #slider_dist_min.sizing_mode = 'fixed'
slider_dist_max.sizing_mode = 'fixed' #slider_dist_max.sizing_mode = 'fixed'
thesliders = layoutcolumn([ thesliders = layoutcolumn([
annotation, annotation,
@@ -5935,7 +5940,7 @@ def interactive_flex_chart2(id,r,promember=0,
slider_work_max, slider_work_max,
]) ])
thesliders.sizing_mode = 'fixed' #thesliders.sizing_mode = 'fixed'
layout = layoutrow([thesliders, layout = layoutrow([thesliders,
plot]) plot])

View File

@@ -2205,6 +2205,7 @@ def cp_from_workoutids(workoutids,debug=False):
if len(data)>1: if len(data)>1:
df = pd.concat(data,axis=0) df = pd.concat(data,axis=0)
df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')] df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
df = df.sort_values(['delta']).reset_index() df = df.sort_values(['delta']).reset_index()
@@ -2250,6 +2251,7 @@ def cp_from_workoutids(workoutids,debug=False):
power2k = fitfunc(p1,t3) power2k = fitfunc(p1,t3)
return powerfourmin,power2k,powerhour return powerfourmin,power2k,powerhour

View File

@@ -15,6 +15,9 @@ except NameError:
import pytest import pytest
import warnings
#warnings.filterwarnings("error",category=RuntimeWarning)
pytestmark = pytest.mark.django_db pytestmark = pytest.mark.django_db
from bs4 import BeautifulSoup from bs4 import BeautifulSoup

View File

@@ -10,7 +10,6 @@ nu = datetime.datetime.now()
from rowers.views import * from rowers.views import *
class WorkoutCompareTest(TestCase): class WorkoutCompareTest(TestCase):
def setUp(self): def setUp(self):
self.u = UserFactory() self.u = UserFactory()
@@ -212,6 +211,9 @@ class ListWorkoutTest(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
startdate = arrow.get(startdate).datetime
enddate = arrow.get(startdate).datetime
form_data = { form_data = {
'startdate':startdate, 'startdate':startdate,
'enddate':enddate, 'enddate':enddate,
@@ -345,6 +347,16 @@ class CumStatsTest(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
url = '/rowers/cumstats/' url = '/rowers/cumstats/'
response = self.c.get(url) response = self.c.get(url)
@@ -382,6 +394,16 @@ class CumFlexTest(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
waterboattype = [u'1x', waterboattype = [u'1x',
u'2x', u'2x',
u'2x+', u'2x+',
@@ -402,7 +424,7 @@ class CumFlexTest(TestCase):
'modality':u'all', 'modality':u'all',
'waterboattype': waterboattype, 'waterboattype': waterboattype,
'xaxis':'spm', 'xaxis':'spm',
'yaxis1':'driveenergy', 'yaxis1':'hr',
'yaxis2':'power', 'yaxis2':'power',
} }
@@ -442,7 +464,7 @@ class CumFlexTest(TestCase):
u'8+', u'8+',
u'8x+'], u'8x+'],
'xparam': u'spm', 'xparam': u'spm',
'yparam1': u'driveenergy', 'yparam1': u'hr',
'yparam2': u'power'} 'yparam2': u'power'}
session = self.c.session session = self.c.session
@@ -487,6 +509,16 @@ class MultiFlexTest(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
waterboattype = [u'1x', waterboattype = [u'1x',
u'2x', u'2x',
u'2x+', u'2x+',
@@ -516,7 +548,7 @@ class MultiFlexTest(TestCase):
'workoutselectform':'Create Chart', 'workoutselectform':'Create Chart',
'xparam':'spm', 'xparam':'spm',
'yparam':'power', 'yparam':'power',
'groupby':'driveenergy', 'groupby':'spm',
} }
form = MultiFlexChoiceForm(form_data) form = MultiFlexChoiceForm(form_data)
@@ -536,7 +568,7 @@ class MultiFlexTest(TestCase):
'ploterrorbars':True, 'ploterrorbars':True,
'userid':0, 'userid':0,
'palette': 'monochrome_blue', 'palette': 'monochrome_blue',
'groupby': 'driveenergy', 'groupby': 'power',
'binsize': 1, 'binsize': 1,
'xparam': 'spm', 'xparam': 'spm',
'yparam': 'power', 'yparam': 'power',
@@ -592,6 +624,16 @@ class HistoTest(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
waterboattype = [u'1x', waterboattype = [u'1x',
u'2x', u'2x',
u'2x+', u'2x+',
@@ -694,6 +736,16 @@ class WorkoutCompareTestNew(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'function':'compare', 'function':'compare',
'xparam':'hr', 'xparam':'hr',
@@ -783,6 +835,16 @@ class WorkoutBoxPlotTestNew(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'function':'boxplot', 'function':'boxplot',
'xparam':'hr', 'xparam':'hr',
@@ -871,6 +933,16 @@ class WorkoutHistoTestNew(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'function':'histo', 'function':'histo',
'xparam':'hr', 'xparam':'hr',
@@ -964,6 +1036,16 @@ class History(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=50)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=50)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=50)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=50)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'startdate':startdate, 'startdate':startdate,
'enddate':enddate, 'enddate':enddate,
@@ -1061,6 +1143,16 @@ class GoldMedalScores(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=50)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=50)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=50)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=50)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'startdate':startdate, 'startdate':startdate,
'enddate':enddate, 'enddate':enddate,
@@ -1126,6 +1218,16 @@ class WorkoutFlexallTestNew(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'function':'flexall', 'function':'flexall',
'xparam':'hr', 'xparam':'hr',
@@ -1215,6 +1317,16 @@ class WorkoutStatsTestNew(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
options = { options = {
'function':'flexall', 'function':'flexall',
'xparam':'hr', 'xparam':'hr',
@@ -1266,6 +1378,16 @@ class WorkoutStatsTestNew(TestCase):
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
form_data = { form_data = {
'function':'stats', 'function':'stats',
'xparam':'hr', 'xparam':'hr',

View File

@@ -34,6 +34,9 @@ class AsyncTaskTests(TestCase):
self.c = Client() self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r) self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
for w in self.user_workouts:
res = dataprep.setcp(w)
self.factory = RequestFactory() self.factory = RequestFactory()
self.password = faker.word() self.password = faker.word()
self.u.set_password(self.password) self.u.set_password(self.password)

View File

@@ -14,8 +14,7 @@ from django.utils.six import BytesIO
from PIL import Image from PIL import Image
from io import StringIO from io import StringIO
import warnings
warnings.simplefilter("error")
def create_image(storage, filename, size=(100, 100), image_mode='RGB', image_format='PNG'): def create_image(storage, filename, size=(100, 100), image_mode='RGB', image_format='PNG'):
""" """
@@ -321,7 +320,7 @@ class WorkoutViewTest(TestCase):
form_data = { form_data = {
'xaxis':'time', 'xaxis':'time',
'yaxis1':'power', 'yaxis1':'power',
'yaxis2':'driveenergy', 'yaxis2':'pace',
'yaxis3':'hr', 'yaxis3':'hr',
'yaxis4':'spm' 'yaxis4':'spm'
} }
@@ -343,7 +342,7 @@ class WorkoutViewTest(TestCase):
url = expected_url url = expected_url
form_data = { form_data = {
'cols':['driveenergy','spm'] 'cols':['hr','spm']
} }
form = DataFrameColumnsForm(form_data) form = DataFrameColumnsForm(form_data)

View File

@@ -154,7 +154,7 @@ class C2Objects(DjangoTestCase):
self.r.c2token = '12' self.r.c2token = '12'
self.r.c2refreshtoken = 'ab' self.r.c2refreshtoken = 'ab'
self.r.tokenexpirydate = datetime.datetime.now()+datetime.timedelta(days=1) self.r.tokenexpirydate = arrow.get(datetime.datetime.now()+datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')
@@ -309,7 +309,7 @@ class C2ObjectsTokenExpired(DjangoTestCase):
self.r.c2token = '12' self.r.c2token = '12'
self.r.c2refreshtoken = 'ab' self.r.c2refreshtoken = 'ab'
self.r.tokenexpirydate = datetime.datetime.now()-datetime.timedelta(days=1) self.r.tokenexpirydate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')
@@ -386,7 +386,7 @@ class NKObjects(DjangoTestCase):
self.r.nktoken = '12' self.r.nktoken = '12'
self.r.nkrefreshtoken = '123' self.r.nkrefreshtoken = '123'
self.r.nktokenexpirydate = datetime.datetime.now()-datetime.timedelta(days=1) self.r.nktokenexpirydate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')
@@ -532,7 +532,7 @@ class StravaObjects(DjangoTestCase):
self.r.stravatoken = '12' self.r.stravatoken = '12'
self.r.stravarefreshtoken = '123' self.r.stravarefreshtoken = '123'
self.r.stravatokenexpirydate = datetime.datetime.now()-datetime.timedelta(days=1) self.r.stravatokenexpirydate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')
@@ -639,7 +639,7 @@ class STObjects(DjangoTestCase):
self.r.sporttrackstoken = '12' self.r.sporttrackstoken = '12'
self.r.sporttracksrefreshtoken = '12' self.r.sporttracksrefreshtoken = '12'
self.r.sporttrackstokenexpirydate = datetime.datetime.now()+datetime.timedelta(days=1) self.r.sporttrackstokenexpirydate = arrow.get(datetime.datetime.now()+datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')
@@ -880,7 +880,7 @@ class UAObjects(DjangoTestCase):
self.r.underarmourtoken = '12' self.r.underarmourtoken = '12'
self.r.underarmourrefreshtoken = '12' self.r.underarmourrefreshtoken = '12'
self.r.underarmourtokenexpirydate = datetime.datetime.now()+datetime.timedelta(days=1) self.r.underarmourtokenexpirydate = arrow.get(datetime.datetime.now()+datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')
@@ -983,7 +983,7 @@ class TPObjects(DjangoTestCase):
self.r.tptoken = '12' self.r.tptoken = '12'
self.r.tprefreshtoken = '12' self.r.tprefreshtoken = '12'
self.r.tptokenexpirydate = datetime.datetime.now()+datetime.timedelta(days=1) self.r.tptokenexpirydate = arrow.get(datetime.datetime.now()+datetime.timedelta(days=1)).datetime
self.r.save() self.r.save()
self.c.login(username='john',password='koeinsloot') self.c.login(username='john',password='koeinsloot')

View File

@@ -97,7 +97,7 @@ class ChallengesTest(TestCase):
workouttype = 'water', workouttype = 'water',
) )
self.wthyro.startdatetime = nu self.wthyro.startdatetime = arrow.get(nu).datetime
self.wthyro.date = nu.date() self.wthyro.date = nu.date()
self.wthyro.save() self.wthyro.save()
@@ -111,7 +111,7 @@ class ChallengesTest(TestCase):
workouttype = 'water', workouttype = 'water',
) )
self.wthyro2.startdatetime = nu self.wthyro2.startdatetime = arrow.get(nu).datetime
self.wthyro2.date = nu.date() self.wthyro2.date = nu.date()
self.wthyro2.save() self.wthyro2.save()
@@ -776,7 +776,7 @@ class IndoorChallengesTest(TestCase):
workouttype = 'water', workouttype = 'water',
) )
self.werg.startdatetime = nu self.werg.startdatetime = arrow.get(nu).datetime
self.werg.date = nu.date() self.werg.date = nu.date()
self.werg.save() self.werg.save()

View File

@@ -182,6 +182,16 @@ def analysis_new(request,userid=0,function='boxplot',teamid=0,id=''):
enddate = startdate enddate = startdate
startdate = s startdate = s
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
negtypes = [] negtypes = []
for b in mytypes.boattypes: for b in mytypes.boattypes:
if b[0] not in waterboattype: if b[0] not in waterboattype:
@@ -366,7 +376,7 @@ def trendflexdata(workouts, options,userid=0):
datadf[groupby].max()+binsize, datadf[groupby].max()+binsize,
binsize) binsize)
groups = datadf.groupby(pd.cut(datadf[groupby],bins,labels=False)) groups = datadf.groupby(pd.cut(datadf[groupby],bins,labels=False))
except ValueError: except (ValueError, AttributeError):
return ('','Error: not enough data') return ('','Error: not enough data')
else: else:
bins = np.arange(datadf['days ago'].min()-binsize, bins = np.arange(datadf['days ago'].min()-binsize,
@@ -426,7 +436,7 @@ def trendflexdata(workouts, options,userid=0):
df['groupval'].loc[mask] = np.nan df['groupval'].loc[mask] = np.nan
groupcols = df['groupval'] groupcols = df['groupval']
except ValueError: except (ValueError, AttributeError):
df['groupval'] = groups.mean()[groupby].fillna(value=0) df['groupval'] = groups.mean()[groupby].fillna(value=0)
df['groupval'].loc[mask] = np.nan df['groupval'].loc[mask] = np.nan
groupcols = df['groupval'] groupcols = df['groupval']
@@ -1917,6 +1927,8 @@ def rankings_view(request,userid=0,
startdate = datetime.datetime.combine(startdate,datetime.time()) startdate = datetime.datetime.combine(startdate,datetime.time())
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
#enddate = enddate+datetime.timedelta(days=1) #enddate = enddate+datetime.timedelta(days=1)
startdate = arrow.get(startdate).datetime
enddate = arrow.get(enddate).datetime
thedistances = [] thedistances = []
theworkouts = [] theworkouts = []
@@ -2324,7 +2336,8 @@ def rankings_view2(request,userid=0,
startdate = datetime.datetime.combine(startdate,datetime.time()) startdate = datetime.datetime.combine(startdate,datetime.time())
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
#enddate = enddate+datetime.timedelta(days=1) #enddate = enddate+datetime.timedelta(days=1)
startdate = arrow.get(startdate).datetime
enddate = arrow.get(enddate).datetime
thedistances = [] thedistances = []
theworkouts = [] theworkouts = []
@@ -2438,7 +2451,7 @@ def rankings_view2(request,userid=0,
pwr = 2.8*(velo**3) pwr = 2.8*(velo**3)
try: try:
pwr = int(pwr) pwr = int(pwr)
except ValueError: except (ValueError, AttributeError):
pwr = 0 pwr = 0
a = {'distance':rankingdistance, a = {'distance':rankingdistance,
@@ -2675,7 +2688,8 @@ def otwrankings_view(request,userid=0,
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
#enddate = enddate+datetime.timedelta(days=1) #enddate = enddate+datetime.timedelta(days=1)
startdate = arrow.get(startdate).datetime
enddate = arrow.get(enddate).datetime
thedistances = [] thedistances = []
theworkouts = [] theworkouts = []
@@ -3087,7 +3101,8 @@ def oterankings_view(request,userid=0,
startdate = datetime.datetime.combine(startdate,datetime.time()) startdate = datetime.datetime.combine(startdate,datetime.time())
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
startdate = arrow.get(startdate).datetime
enddate = arrow.get(enddate).datetime
thedistances = [] thedistances = []
theworkouts = [] theworkouts = []
@@ -3436,6 +3451,16 @@ def user_multiflex_select(request,
else: else:
rankingpiece = [True,False] rankingpiece = [True,False]
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
workouts = Workout.objects.filter( workouts = Workout.objects.filter(
user=r, user=r,
startdatetime__gte=startdate, startdatetime__gte=startdate,
@@ -3638,7 +3663,7 @@ def multiflex_data(request,userid=0,
datadf[groupby].max()+binsize, datadf[groupby].max()+binsize,
binsize) binsize)
groups = datadf.groupby(pd.cut(datadf[groupby],bins,labels=False)) groups = datadf.groupby(pd.cut(datadf[groupby],bins,labels=False))
except ValueError: except (ValueError, AttributeError):
messages.error( messages.error(
request, request,
"Unable to compete. Probably not enough data selected" "Unable to compete. Probably not enough data selected"
@@ -3703,7 +3728,7 @@ def multiflex_data(request,userid=0,
df['groupval'].loc[mask] = np.nan df['groupval'].loc[mask] = np.nan
groupcols = df['groupval'] groupcols = df['groupval']
except ValueError: except (ValueError, AttributeError):
df['groupval'] = groups.mean()[groupby].fillna(value=0) df['groupval'] = groups.mean()[groupby].fillna(value=0)
df['groupval'].loc[mask] = np.nan df['groupval'].loc[mask] = np.nan
groupcols = df['groupval'] groupcols = df['groupval']
@@ -4079,6 +4104,15 @@ def user_boxplot_select(request,
if b[0] not in waterboattype: if b[0] not in waterboattype:
negtypes.append(b[0]) negtypes.append(b[0])
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except (ValueError, AttributeError):
pass
try:
enddate = pytz.utc.localize(enddate)
except (ValueError, AttributeError):
pass
workouts = Workout.objects.filter(user=r, workouts = Workout.objects.filter(user=r,
startdatetime__gte=startdate, startdatetime__gte=startdate,
@@ -5338,7 +5372,7 @@ def history_view_data(request,userid=0):
ddict['hrmean'] = int(wavg(ddf,'hr','deltat')) ddict['hrmean'] = int(wavg(ddf,'hr','deltat'))
try: try:
ddict['hrmax'] = ddf['hr'].max().astype(int) ddict['hrmax'] = ddf['hr'].max().astype(int)
except ValueError: except (ValueError, AttributeError):
ddict['hrmax'] = 0 ddict['hrmax'] = 0
ddict['powermean'] = int(wavg(ddf,'power','deltat')) ddict['powermean'] = int(wavg(ddf,'power','deltat'))

View File

@@ -968,6 +968,10 @@ def video_selectworkout(request,userid=0):
startdate = datetime.datetime.combine(startdate,datetime.time()) startdate = datetime.datetime.combine(startdate,datetime.time())
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
# make sure the dates are not naive
startdate = pytz.utc.localize(startdate)
enddate = pytz.utc.localize(enddate)
if enddate < startdate: # pragma: no cover if enddate < startdate: # pragma: no cover
s = enddate s = enddate
enddate = startdate enddate = startdate
@@ -1112,6 +1116,16 @@ def workouts_join_select(request,
enddate = startdate enddate = startdate
startdate = s startdate = s
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except ValueError:
pass
try:
enddate = pytz.utc.localize(enddate)
except ValueError:
pass
workouts = Workout.objects.filter(user=r, workouts = Workout.objects.filter(user=r,
startdatetime__gte=startdate, startdatetime__gte=startdate,
@@ -1338,6 +1352,16 @@ def team_comparison_select(request,
except Team.DoesNotExist: except Team.DoesNotExist:
theteam = 0 theteam = 0
# make sure the dates are not naive
try:
startdate = pytz.utc.localize(startdate)
except ValueError:
pass
try:
enddate = pytz.utc.localize(enddate)
except ValueError:
pass
if theteam and (theteam.viewing == 'allmembers' or theteam.manager == request.user): if theteam and (theteam.viewing == 'allmembers' or theteam.manager == request.user):
workouts = Workout.objects.filter(team=theteam, workouts = Workout.objects.filter(team=theteam,
startdatetime__gte=startdate, startdatetime__gte=startdate,
@@ -1964,7 +1988,7 @@ def workouts_view(request,message='',successmessage='',
activity_startdate = activity_startdate.replace(hour=0,minute=0,second=0) activity_startdate = activity_startdate.replace(hour=0,minute=0,second=0)
else: else:
activity_enddate = enddate activity_enddate = enddate
except ValueError: # pragma: no cover except (ValueError, AttributeError): # pragma: no cover
activity_enddate = enddate activity_enddate = enddate
g_startdate = activity_startdate g_startdate = activity_startdate
@@ -2156,6 +2180,9 @@ def workout_fusion_list(request,id=0,
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
#enddate = enddate+datetime.timedelta(days=1) #enddate = enddate+datetime.timedelta(days=1)
startdate = arrow.get(startdate).datetime
enddate = arrow.get(enddate).datetime
if enddate < startdate: # pragma: no cover if enddate < startdate: # pragma: no cover
s = enddate s = enddate
enddate = startdate enddate = startdate
@@ -3959,8 +3986,6 @@ def workout_flexchart_stacked_view(request,*args,**kwargs):
if request.method == 'POST': if request.method == 'POST':
flexaxesform = StravaChartForm(request,request.POST) flexaxesform = StravaChartForm(request,request.POST)
if not flexaxesform.is_valid():
print(flexaxesform.errors)
if flexaxesform.is_valid(): if flexaxesform.is_valid():
cd = flexaxesform.cleaned_data cd = flexaxesform.cleaned_data
xparam = cd['xaxis'] xparam = cd['xaxis']