adding bulk action assign rowers
This commit is contained in:
@@ -324,6 +324,50 @@ def summaryfromsplitdata(splitdata, data, filename, sep='|', workouttype='rower'
|
||||
|
||||
return sums, sa, results
|
||||
|
||||
@app.task
|
||||
def handle_assignworkouts(workouts, rowers, remove_workout, debug=False, **kwargs):
|
||||
for workout in workouts:
|
||||
uploadoptions = {
|
||||
'secret': UPLOAD_SERVICE_SECRET,
|
||||
'title': workout.name,
|
||||
'boattype': workout.boattype,
|
||||
'workouttype': workout.workouttype,
|
||||
'inboard': workout.inboard,
|
||||
'oarlength': workout.oarlength,
|
||||
'summary': workout.summary,
|
||||
'elapsedTime': 3600.*workout.duration.hour+60*workout.duration.minute+workout.duration.second,
|
||||
'totalDistance': workout.distance,
|
||||
'useImpeller': workout.impeller,
|
||||
'seatNumber': workout.seatnumber,
|
||||
'boatName': workout.boatname,
|
||||
'portStarboard': workout.empowerside,
|
||||
}
|
||||
for rower in rowers:
|
||||
failed = False
|
||||
csvfilename = 'media/{code}.csv'.format(code=uuid4().hex[:16])
|
||||
try:
|
||||
with open(csvfilename,'wb') as f:
|
||||
shutil.copy(workout.csvfilename,csvfilename)
|
||||
except FileNotFoundError:
|
||||
try:
|
||||
with open(csvfilename,'wb') as f:
|
||||
csvfilename = csvfilename+'.gz'
|
||||
shutil.copy(workout.csvfilename+'.gz', csvfilename)
|
||||
except:
|
||||
failed = True
|
||||
if not failed:
|
||||
uploadoptions['user'] = rower.user.id
|
||||
uploadoptions['file'] = csvfilename
|
||||
session = requests.session()
|
||||
newHeaders = {'Content-type': 'application/json', 'Accept': 'text/plain'}
|
||||
session.headers.update(newHeaders)
|
||||
response = session.post(UPLOAD_SERVICE_URL, json=uploadoptions)
|
||||
print(response.text)
|
||||
if remove_workout:
|
||||
workout.delete()
|
||||
|
||||
return 1
|
||||
|
||||
@app.task
|
||||
def handle_post_workout_api(uploadoptions, debug=False, **kwargs): # pragma: no cover
|
||||
session = requests.session()
|
||||
|
||||
Reference in New Issue
Block a user