bug fix
This commit is contained in:
@@ -1179,6 +1179,7 @@ def handle_nonpainsled(f2, fileformat, summary=''):
|
|||||||
|
|
||||||
def new_workout_from_file(r, f2,
|
def new_workout_from_file(r, f2,
|
||||||
workouttype='rower',
|
workouttype='rower',
|
||||||
|
workoutsource=None,
|
||||||
title='Workout',
|
title='Workout',
|
||||||
boattype='1x',
|
boattype='1x',
|
||||||
makeprivate=False,
|
makeprivate=False,
|
||||||
@@ -1273,13 +1274,16 @@ def new_workout_from_file(r, f2,
|
|||||||
dosummary = (fileformat != 'fit' and 'speedcoach2' not in fileformat)
|
dosummary = (fileformat != 'fit' and 'speedcoach2' not in fileformat)
|
||||||
dosummary = dosummary or summary == ''
|
dosummary = dosummary or summary == ''
|
||||||
|
|
||||||
|
if workoutsource is None:
|
||||||
|
workoutsource = fileformat
|
||||||
|
|
||||||
id, message = save_workout_database(
|
id, message = save_workout_database(
|
||||||
f2, r,
|
f2, r,
|
||||||
workouttype=workouttype,
|
workouttype=workouttype,
|
||||||
boattype=boattype,
|
boattype=boattype,
|
||||||
makeprivate=makeprivate,
|
makeprivate=makeprivate,
|
||||||
dosummary=dosummary,
|
dosummary=dosummary,
|
||||||
workoutsource=fileformat,
|
workoutsource=workoutsource,
|
||||||
summary=summary,
|
summary=summary,
|
||||||
inboard=inboard, oarlength=oarlength,
|
inboard=inboard, oarlength=oarlength,
|
||||||
title=title
|
title=title
|
||||||
@@ -1390,6 +1394,7 @@ def split_workout(r, parent, splitsecond, splitmode):
|
|||||||
|
|
||||||
def new_workout_from_df(r, df,
|
def new_workout_from_df(r, df,
|
||||||
title='New Workout',
|
title='New Workout',
|
||||||
|
workoutsource='unknown',
|
||||||
boattype='1x',
|
boattype='1x',
|
||||||
workouttype='rower',
|
workouttype='rower',
|
||||||
parent=None,
|
parent=None,
|
||||||
|
|||||||
@@ -298,6 +298,7 @@ def add_c2_stroke_data_db(strokedata,workoutid,starttimeunix,csvfilename,
|
|||||||
def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
|
def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
|
||||||
dosummary=True,title='Workout',
|
dosummary=True,title='Workout',
|
||||||
notes='',totaldist=0,totaltime=0,
|
notes='',totaldist=0,totaltime=0,
|
||||||
|
workoutsource='unknown',
|
||||||
summary='',
|
summary='',
|
||||||
makeprivate=False,
|
makeprivate=False,
|
||||||
oarlength=2.89,inboard=0.88):
|
oarlength=2.89,inboard=0.88):
|
||||||
@@ -430,15 +431,16 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
|
|||||||
|
|
||||||
|
|
||||||
w = Workout(user=r,name=title,date=workoutdate,
|
w = Workout(user=r,name=title,date=workoutdate,
|
||||||
workouttype=workouttype,
|
workouttype=workouttype,
|
||||||
duration=duration,distance=totaldist,
|
workoutsource=workoutsource,
|
||||||
weightcategory=r.weightcategory,
|
duration=duration,distance=totaldist,
|
||||||
starttime=workoutstarttime,
|
weightcategory=r.weightcategory,
|
||||||
csvfilename=f2,notes=notes,summary=summary,
|
starttime=workoutstarttime,
|
||||||
maxhr=maxhr,averagehr=averagehr,
|
csvfilename=f2,notes=notes,summary=summary,
|
||||||
startdatetime=workoutstartdatetime,
|
maxhr=maxhr,averagehr=averagehr,
|
||||||
inboard=inboard,oarlength=oarlength,
|
startdatetime=workoutstartdatetime,
|
||||||
privacy=privacy)
|
inboard=inboard,oarlength=oarlength,
|
||||||
|
privacy=privacy)
|
||||||
|
|
||||||
|
|
||||||
w.save()
|
w.save()
|
||||||
|
|||||||
@@ -1046,6 +1046,7 @@ boattype: 4x
|
|||||||
a = MessageAttachment(message=m,document=a2[6:])
|
a = MessageAttachment(message=m,document=a2[6:])
|
||||||
a.save()
|
a.save()
|
||||||
|
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
for filename in os.listdir('media/mailbox_attachments'):
|
for filename in os.listdir('media/mailbox_attachments'):
|
||||||
path = os.path.join('media/mailbox_attachments/',filename)
|
path = os.path.join('media/mailbox_attachments/',filename)
|
||||||
|
|||||||
@@ -49,6 +49,18 @@ def cleanbody(body):
|
|||||||
|
|
||||||
return body
|
return body
|
||||||
|
|
||||||
|
|
||||||
|
sources = [s for s,name in workoutsources]
|
||||||
|
|
||||||
|
def matchsource(line):
|
||||||
|
results = []
|
||||||
|
for s in sources:
|
||||||
|
testert = '^source.*(%s)' % s
|
||||||
|
tester = re.compile(testert)
|
||||||
|
|
||||||
|
if tester.match(line.lower()):
|
||||||
|
return group(1)
|
||||||
|
|
||||||
# currently only matches one chart
|
# currently only matches one chart
|
||||||
def matchchart(line):
|
def matchchart(line):
|
||||||
results = []
|
results = []
|
||||||
@@ -147,6 +159,14 @@ def getprivateoptions_body2(uploadoptions,body):
|
|||||||
|
|
||||||
return uploadoptions
|
return uploadoptions
|
||||||
|
|
||||||
|
def getworkoutsources(uploadoptions,body):
|
||||||
|
for line in body.splitlines():
|
||||||
|
workoutsource = matchsource(line)
|
||||||
|
if workoutsource:
|
||||||
|
uploadoptions['workoutsource'] = workoutsource
|
||||||
|
|
||||||
|
return uploadoptions
|
||||||
|
|
||||||
def getplotoptions_body2(uploadoptions,body):
|
def getplotoptions_body2(uploadoptions,body):
|
||||||
for line in body.splitlines():
|
for line in body.splitlines():
|
||||||
chart = matchchart(line)
|
chart = matchchart(line)
|
||||||
@@ -241,6 +261,17 @@ def getboattype(uploadoptions,value,key):
|
|||||||
|
|
||||||
return uploadoptions
|
return uploadoptions
|
||||||
|
|
||||||
|
def getsource(uploadoptions,value,key):
|
||||||
|
workoutsource = 'unknown'
|
||||||
|
for type,verb in workoutsources:
|
||||||
|
if value == type:
|
||||||
|
workoutsource = type
|
||||||
|
if value == verb:
|
||||||
|
workoutsource = type
|
||||||
|
|
||||||
|
uploadoptions[key] = workoutsource
|
||||||
|
|
||||||
|
return uploadoptions
|
||||||
|
|
||||||
def getboolean(uploadoptions,value,key):
|
def getboolean(uploadoptions,value,key):
|
||||||
b = True
|
b = True
|
||||||
@@ -273,6 +304,8 @@ def upload_options(body):
|
|||||||
uploadoptions = gettype(uploadoptions,value,'workouttype')
|
uploadoptions = gettype(uploadoptions,value,'workouttype')
|
||||||
if 'boat' in lowkey:
|
if 'boat' in lowkey:
|
||||||
uploadoptions = getboattype(uploadoptions,value,'boattype')
|
uploadoptions = getboattype(uploadoptions,value,'boattype')
|
||||||
|
if 'source' in lowkey:
|
||||||
|
uploadoptions = getsource(uploadoptions,value,'workoutsource')
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
#pass
|
#pass
|
||||||
raise yaml.YAMLError
|
raise yaml.YAMLError
|
||||||
@@ -283,6 +316,7 @@ def upload_options(body):
|
|||||||
uploadoptions = getprivateoptions_body2(uploadoptions,body)
|
uploadoptions = getprivateoptions_body2(uploadoptions,body)
|
||||||
typeoptions = gettypeoptions_body2(uploadoptions,body)
|
typeoptions = gettypeoptions_body2(uploadoptions,body)
|
||||||
uploadoptions = getstravaid(uploadoptions,body)
|
uploadoptions = getstravaid(uploadoptions,body)
|
||||||
|
uploadoptions = getworkoutsources(uploadoptions,body)
|
||||||
except IOError:
|
except IOError:
|
||||||
pm = exc.problem_mark
|
pm = exc.problem_mark
|
||||||
strpm = str(pm)
|
strpm = str(pm)
|
||||||
@@ -377,6 +411,13 @@ def set_workouttype(w,options):
|
|||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
def set_workoutsource(w,options):
|
||||||
|
try:
|
||||||
|
w.workoutsource = options['workoutsource']
|
||||||
|
w.save()
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
def make_private(w,options):
|
def make_private(w,options):
|
||||||
if 'makeprivate' in options and options['makeprivate']:
|
if 'makeprivate' in options and options['makeprivate']:
|
||||||
w.privacy = 'hidden'
|
w.privacy = 'hidden'
|
||||||
|
|||||||
@@ -3019,7 +3019,7 @@ def workout_forcecurve_view(request,id=0,workstrokesonly=False):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_forcecurve_view,kwargs={'id':id}),
|
'url':reverse(workout_forcecurve_view,kwargs={'id':id}),
|
||||||
@@ -3089,7 +3089,7 @@ def workout_histo_view(request,id=0):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_histo_view,kwargs={'id':id}),
|
'url':reverse(workout_histo_view,kwargs={'id':id}),
|
||||||
@@ -6944,7 +6944,7 @@ def workout_fusion_list(request,id=0,message='',successmessage='',
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,row.id),
|
'url':get_workout_default_page(request,row.id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_fusion_list,kwargs={'id':id}),
|
'url':reverse(workout_fusion_list,kwargs={'id':id}),
|
||||||
@@ -7167,7 +7167,7 @@ def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_crewnerd_summary_view,kwargs={'id':id}),
|
'url':reverse(workout_crewnerd_summary_view,kwargs={'id':id}),
|
||||||
@@ -7377,7 +7377,7 @@ def workout_wind_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_wind_view,kwargs={'id':id}),
|
'url':reverse(workout_wind_view,kwargs={'id':id}),
|
||||||
@@ -7565,7 +7565,7 @@ def workout_stream_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_stream_view,kwargs={'id':id}),
|
'url':reverse(workout_stream_view,kwargs={'id':id}),
|
||||||
@@ -7697,7 +7697,7 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_otwsetpower_view,kwargs={'id':id}),
|
'url':reverse(workout_otwsetpower_view,kwargs={'id':id}),
|
||||||
@@ -7737,7 +7737,7 @@ def instroke_view(request,id=0):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(instroke_view,kwargs={'id':id}),
|
'url':reverse(instroke_view,kwargs={'id':id}),
|
||||||
@@ -8215,7 +8215,7 @@ def workout_data_view(request, id=0):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_data_view,kwargs={'id':id}),
|
'url':reverse(workout_data_view,kwargs={'id':id}),
|
||||||
@@ -8311,7 +8311,7 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_stats_view,kwargs={'id':id}),
|
'url':reverse(workout_stats_view,kwargs={'id':id}),
|
||||||
@@ -8846,7 +8846,7 @@ def workout_workflow_view(request,id):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_workflow_view,kwargs={'id':id}),
|
'url':reverse(workout_workflow_view,kwargs={'id':id}),
|
||||||
@@ -9134,7 +9134,7 @@ def workout_flexchart3_view(request,*args,**kwargs):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_flexchart3_view,kwargs=kwargs),
|
'url':reverse(workout_flexchart3_view,kwargs=kwargs),
|
||||||
@@ -9228,7 +9228,7 @@ def workout_otwpowerplot_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_otwpowerplot_view,kwargs={'id':id}),
|
'url':reverse(workout_otwpowerplot_view,kwargs={'id':id}),
|
||||||
@@ -9455,7 +9455,7 @@ def workout_comment_view(request,id=0):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_comment_view,kwargs={'id':id}),
|
'url':reverse(workout_comment_view,kwargs={'id':id}),
|
||||||
@@ -9875,7 +9875,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_edit_view,kwargs={'id':id}),
|
'url':reverse(workout_edit_view,kwargs={'id':id}),
|
||||||
@@ -9917,7 +9917,7 @@ def workout_map_view(request,id=0):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_map_view,kwargs={'id':id}),
|
'url':reverse(workout_map_view,kwargs={'id':id}),
|
||||||
@@ -9991,7 +9991,7 @@ def workout_uploadimage_view(request,id):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,id),
|
'url':get_workout_default_page(request,id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_uploadimage_view,kwargs={'id':id}),
|
'url':reverse(workout_uploadimage_view,kwargs={'id':id}),
|
||||||
@@ -10974,6 +10974,11 @@ def workout_upload_view(request,
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
boattype = '1x'
|
boattype = '1x'
|
||||||
|
|
||||||
|
try:
|
||||||
|
workoutsource = uploadoptions['workoutsource']
|
||||||
|
except KeyError:
|
||||||
|
workoutsource = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
plottype = uploadoptions['plottype']
|
plottype = uploadoptions['plottype']
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@@ -11087,6 +11092,7 @@ def workout_upload_view(request,
|
|||||||
id,message,f2 = dataprep.new_workout_from_file(
|
id,message,f2 = dataprep.new_workout_from_file(
|
||||||
r,f2,
|
r,f2,
|
||||||
workouttype=workouttype,
|
workouttype=workouttype,
|
||||||
|
workoutsource=workoutsource,
|
||||||
boattype=boattype,
|
boattype=boattype,
|
||||||
makeprivate=makeprivate,
|
makeprivate=makeprivate,
|
||||||
title = t,
|
title = t,
|
||||||
@@ -11631,7 +11637,7 @@ def graph_show_view(request,id):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,w.id),
|
'url':get_workout_default_page(request,w.id),
|
||||||
'name': str(w.id)
|
'name': w.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(graph_show_view,kwargs={'id':id}),
|
'url':reverse(graph_show_view,kwargs={'id':id}),
|
||||||
@@ -11723,7 +11729,7 @@ def workout_split_view(request,id=id):
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,row.id),
|
'url':get_workout_default_page(request,row.id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(graph_show_view,kwargs={'id':id}),
|
'url':reverse(graph_show_view,kwargs={'id':id}),
|
||||||
@@ -11894,7 +11900,7 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':get_workout_default_page(request,row.id),
|
'url':get_workout_default_page(request,row.id),
|
||||||
'name': str(row.id)
|
'name': row.name
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'url':reverse(workout_summary_edit_view,kwargs={'id':id}),
|
'url':reverse(workout_summary_edit_view,kwargs={'id':id}),
|
||||||
|
|||||||
Reference in New Issue
Block a user