bug fix
This commit is contained in:
@@ -1179,6 +1179,7 @@ def handle_nonpainsled(f2, fileformat, summary=''):
|
||||
|
||||
def new_workout_from_file(r, f2,
|
||||
workouttype='rower',
|
||||
workoutsource=None,
|
||||
title='Workout',
|
||||
boattype='1x',
|
||||
makeprivate=False,
|
||||
@@ -1273,13 +1274,16 @@ def new_workout_from_file(r, f2,
|
||||
dosummary = (fileformat != 'fit' and 'speedcoach2' not in fileformat)
|
||||
dosummary = dosummary or summary == ''
|
||||
|
||||
if workoutsource is None:
|
||||
workoutsource = fileformat
|
||||
|
||||
id, message = save_workout_database(
|
||||
f2, r,
|
||||
workouttype=workouttype,
|
||||
boattype=boattype,
|
||||
makeprivate=makeprivate,
|
||||
dosummary=dosummary,
|
||||
workoutsource=fileformat,
|
||||
workoutsource=workoutsource,
|
||||
summary=summary,
|
||||
inboard=inboard, oarlength=oarlength,
|
||||
title=title
|
||||
@@ -1390,6 +1394,7 @@ def split_workout(r, parent, splitsecond, splitmode):
|
||||
|
||||
def new_workout_from_df(r, df,
|
||||
title='New Workout',
|
||||
workoutsource='unknown',
|
||||
boattype='1x',
|
||||
workouttype='rower',
|
||||
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',
|
||||
dosummary=True,title='Workout',
|
||||
notes='',totaldist=0,totaltime=0,
|
||||
workoutsource='unknown',
|
||||
summary='',
|
||||
makeprivate=False,
|
||||
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,
|
||||
workouttype=workouttype,
|
||||
duration=duration,distance=totaldist,
|
||||
weightcategory=r.weightcategory,
|
||||
starttime=workoutstarttime,
|
||||
csvfilename=f2,notes=notes,summary=summary,
|
||||
maxhr=maxhr,averagehr=averagehr,
|
||||
startdatetime=workoutstartdatetime,
|
||||
inboard=inboard,oarlength=oarlength,
|
||||
privacy=privacy)
|
||||
workouttype=workouttype,
|
||||
workoutsource=workoutsource,
|
||||
duration=duration,distance=totaldist,
|
||||
weightcategory=r.weightcategory,
|
||||
starttime=workoutstarttime,
|
||||
csvfilename=f2,notes=notes,summary=summary,
|
||||
maxhr=maxhr,averagehr=averagehr,
|
||||
startdatetime=workoutstartdatetime,
|
||||
inboard=inboard,oarlength=oarlength,
|
||||
privacy=privacy)
|
||||
|
||||
|
||||
w.save()
|
||||
|
||||
@@ -1046,6 +1046,7 @@ boattype: 4x
|
||||
a = MessageAttachment(message=m,document=a2[6:])
|
||||
a.save()
|
||||
|
||||
|
||||
def tearDown(self):
|
||||
for filename in os.listdir('media/mailbox_attachments'):
|
||||
path = os.path.join('media/mailbox_attachments/',filename)
|
||||
|
||||
@@ -49,6 +49,18 @@ def cleanbody(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
|
||||
def matchchart(line):
|
||||
results = []
|
||||
@@ -147,6 +159,14 @@ def getprivateoptions_body2(uploadoptions,body):
|
||||
|
||||
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):
|
||||
for line in body.splitlines():
|
||||
chart = matchchart(line)
|
||||
@@ -241,6 +261,17 @@ def getboattype(uploadoptions,value,key):
|
||||
|
||||
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):
|
||||
b = True
|
||||
@@ -273,6 +304,8 @@ def upload_options(body):
|
||||
uploadoptions = gettype(uploadoptions,value,'workouttype')
|
||||
if 'boat' in lowkey:
|
||||
uploadoptions = getboattype(uploadoptions,value,'boattype')
|
||||
if 'source' in lowkey:
|
||||
uploadoptions = getsource(uploadoptions,value,'workoutsource')
|
||||
except AttributeError:
|
||||
#pass
|
||||
raise yaml.YAMLError
|
||||
@@ -283,6 +316,7 @@ def upload_options(body):
|
||||
uploadoptions = getprivateoptions_body2(uploadoptions,body)
|
||||
typeoptions = gettypeoptions_body2(uploadoptions,body)
|
||||
uploadoptions = getstravaid(uploadoptions,body)
|
||||
uploadoptions = getworkoutsources(uploadoptions,body)
|
||||
except IOError:
|
||||
pm = exc.problem_mark
|
||||
strpm = str(pm)
|
||||
@@ -377,6 +411,13 @@ def set_workouttype(w,options):
|
||||
|
||||
return 1
|
||||
|
||||
def set_workoutsource(w,options):
|
||||
try:
|
||||
w.workoutsource = options['workoutsource']
|
||||
w.save()
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def make_private(w,options):
|
||||
if 'makeprivate' in options and options['makeprivate']:
|
||||
w.privacy = 'hidden'
|
||||
|
||||
@@ -3019,7 +3019,7 @@ def workout_forcecurve_view(request,id=0,workstrokesonly=False):
|
||||
},
|
||||
{
|
||||
'url':get_workout_default_page(request,id),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'url':reverse(workout_uploadimage_view,kwargs={'id':id}),
|
||||
@@ -10974,6 +10974,11 @@ def workout_upload_view(request,
|
||||
except KeyError:
|
||||
boattype = '1x'
|
||||
|
||||
try:
|
||||
workoutsource = uploadoptions['workoutsource']
|
||||
except KeyError:
|
||||
workoutsource = None
|
||||
|
||||
try:
|
||||
plottype = uploadoptions['plottype']
|
||||
except KeyError:
|
||||
@@ -11087,6 +11092,7 @@ def workout_upload_view(request,
|
||||
id,message,f2 = dataprep.new_workout_from_file(
|
||||
r,f2,
|
||||
workouttype=workouttype,
|
||||
workoutsource=workoutsource,
|
||||
boattype=boattype,
|
||||
makeprivate=makeprivate,
|
||||
title = t,
|
||||
@@ -11631,7 +11637,7 @@ def graph_show_view(request,id):
|
||||
},
|
||||
{
|
||||
'url':get_workout_default_page(request,w.id),
|
||||
'name': str(w.id)
|
||||
'name': w.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'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),
|
||||
'name': str(row.id)
|
||||
'name': row.name
|
||||
},
|
||||
{
|
||||
'url':reverse(workout_summary_edit_view,kwargs={'id':id}),
|
||||
|
||||
Reference in New Issue
Block a user