removing some warnings
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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])
|
||||||
|
|||||||
@@ -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])
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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')
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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'))
|
||||||
|
|||||||
@@ -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']
|
||||||
|
|||||||
Reference in New Issue
Block a user