diff --git a/rowers/nkimportutils.py b/rowers/nkimportutils.py index 1386eddc..55aacb67 100644 --- a/rowers/nkimportutils.py +++ b/rowers/nkimportutils.py @@ -74,7 +74,10 @@ def add_workout_from_data(userid, nkid, data, strokedata, source='nk', splitdata # boatName = oarlocksession["boatName"] oarLength = oarlocksession["oarLength"] # cm oarInboardLength = oarlocksession["oarInboardLength"] # cm - # seatNumber = oarlocksession["seatNumber"] + try: + seatNumber = oarlocksession["seatNumber"] + except KeyError: + seatNumber = 1 try: oarlockfirmware = oarlocksession["firmwareVersion"] except KeyError: @@ -83,7 +86,7 @@ def add_workout_from_data(userid, nkid, data, strokedata, source='nk', splitdata # boatName = '' oarLength = 289 oarInboardLength = 88 - # seatNumber = 1 + seatNumber = 1 oarlockfirmware = '' workouttype = "water" @@ -103,7 +106,8 @@ def add_workout_from_data(userid, nkid, data, strokedata, source='nk', splitdata 'oarlockfirmware': oarlockfirmware, 'elapsedTime': elapsedTime/1000., # in seconds 'totalDistance': totalDistance, - 'useImpeller': useImpeller + 'useImpeller': useImpeller, + 'seatNumber': seatNumber, } # dologging('nklog.log',json.dumps(uploadoptions)) @@ -271,13 +275,13 @@ def getdict(x, seatIndex=1): return {} -def strokeDataToDf(strokeData): +def strokeDataToDf(strokeData, seatIndex=1): df = pd.DataFrame.from_dict(strokeData) oarlockData = df['oarlockStrokes'] - oarlockData = oarlockData.apply(lambda x: getdict(x, seatIndex=1)) + oarlockData = oarlockData.apply(lambda x: getdict(x, seatIndex=seatIndex)) df2 = pd.DataFrame.from_records(oarlockData.values) # df.set_index('timestamp',inplace=True) diff --git a/rowers/tasks.py b/rowers/tasks.py index f829badb..6791029f 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -3031,7 +3031,16 @@ def handle_nk_async_workout(alldata, userid, nktoken, nkid, delaysec, defaulttim dologging('nklog.log', json.dumps(data)) dologging('nklog.log', json.dumps(strokeData)) - df = strokeDataToDf(strokeData) + seatNumber = 1 + try: + oarlockSessions = data['oarlockSessions'] + if oarlockSessions: + oarlocksession = oarlockSessions[0] + seatNumber = oarlocksession['seatNumber'] + except KeyError: + pass + + df = strokeDataToDf(strokeData, seatIndex=seatNumber) csvfilename = 'media/{code}_{nkid}.csv.gz'.format( nkid=nkid, diff --git a/rowers/templates/workout_duplicates_select.html b/rowers/templates/workout_duplicates_select.html index 4c18dae2..c8a5aaaa 100644 --- a/rowers/templates/workout_duplicates_select.html +++ b/rowers/templates/workout_duplicates_select.html @@ -14,7 +14,7 @@ } -