Private
Public Access
1
0

adding logging in dataprep - for datetime issues

This commit is contained in:
Sander Roosendaal
2021-06-15 10:38:45 +02:00
parent f3ae66f419
commit ca1d63938f
4 changed files with 85 additions and 1 deletions

View File

@@ -92,7 +92,7 @@ import sqlalchemy as sa
import sys
import rowers.utils as utils
import rowers.datautils as datautils
from rowers.utils import lbstoN,myqueue,wavg
from rowers.utils import lbstoN,myqueue,wavg,dologging
from timezonefinder import TimezoneFinder
@@ -1603,6 +1603,10 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
if startdatetime != '': # pragma: no cover
row.rowdatetime = arrow.get(startdatetime).datetime
dologging('debuglog.log','Row Date Time (line 1606) = {rowdatetime}'.format(
rowdatetime=row.rowdatetime,
))
if title is None or title == '':
title = 'Workout'
@@ -1730,6 +1734,11 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
pass
dologging('debuglog.log','Dataprep line 1737, Workout Startdatetime {workoutstartdatetime}'.format(
workoutstartdatetime=workoutstartdatetime,
))
@@ -1768,6 +1777,11 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
pytz.timezone(timezone_str)
).strftime('%H:%M:%S')
s = 'Dataprep line 1780 workoutdate and time set to {workoutdate} and {workoutstarttime}'.format(
workoutdate=workoutdate,
workoutstarttime=workoutstarttime,
)
if makeprivate: # pragma: no cover
privacy = 'hidden'
@@ -1889,6 +1903,12 @@ def parsenonpainsled(fileformat,f2,summary,startdatetime='',empowerfirmware=None
hasrecognized = False
return None, hasrecognized, '', 'unknown'
s = 'Parsenonpainsled, start date time = {startdatetime}'.format(
startdatetime = startdatetime,
#rowdatetime = row.rowdatetime
)
dologging('debuglog.log',s)
# handle speed coach GPS 2
if (fileformat == 'speedcoach2'):
oarlength, inboard = get_empower_rigging(f2)
@@ -2159,6 +2179,10 @@ def new_workout_from_file(r, f2,
if workoutsource is None:
workoutsource = fileformat
dologging('debuglog.log','Saving to database with start date time {startdatetime}'.format(
startdatetime=startdatetime,
))
id, message = save_workout_database(
f2, r,
notes=notes,

View File

@@ -3167,6 +3167,8 @@ def handle_c2_async_workout(alldata,userid,c2token,c2id,delaysec,defaulttimezone
dologging('debuglog.log',s.text)
has_strokedata = False
if not has_strokedata: # pragma: no cover
df = df_from_summary(data)
else:
@@ -3220,6 +3222,7 @@ def handle_c2_async_workout(alldata,userid,c2token,c2id,delaysec,defaulttimezone
velo = 1000./pace
dologging('debuglog.log','Unix Time Stamp {s}'.format(s=unixtime[0]))
#dologging('debuglog.log',json.dumps(s.json()))
df = pd.DataFrame({'TimeStamp (sec)':unixtime,
' Horizontal (meters)': dist2,

View File

@@ -394,6 +394,55 @@ class C2Objects(DjangoTestCase):
self.assertEqual(got, want)
self.assertEqual(workoutdate,'2021-06-06')
def test_c2_import_54744009(self):
with open('rowers/tests/testdata/c2_54744009.json','r') as infile:
data = json.load(infile)
(
startdatetime,
starttime,
workoutdate,
duration,
starttimeunix,
timezone
) = utils.get_startdatetime_from_c2data(data)
self.assertEqual(str(timezone),'America/Los_Angeles')
got = arrow.get(startdatetime).isoformat()
want = arrow.get('2021-06-02 08:07:04.7-07:00').isoformat()
self.assertEqual(got, want)
self.assertEqual(workoutdate,'2021-06-02')
def test_c2_import_54933639(self):
with open('rowers/tests/testdata/c2_54933639.json','r') as infile:
data = json.load(infile)
(
startdatetime,
starttime,
workoutdate,
duration,
starttimeunix,
timezone
) = utils.get_startdatetime_from_c2data(data)
self.assertEqual(str(timezone),'America/Los_Angeles')
got = arrow.get(startdatetime).isoformat()
want = arrow.get('2021-06-10 19:22:02.600000-07:00').isoformat()
self.assertEqual(got, want)
self.assertEqual(workoutdate,'2021-06-10')
want = arrow.get('2021-06-10 19:22:02.600000-07:00').timestamp()
got = 1623378122.6
self.assertEqual(got, want)
got = arrow.get(startdatetime).timestamp()
self.assertEqual(got, want)
@patch('rowers.c2stuff.requests.get', side_effect=mocked_requests)
@patch('rowers.dataprep.create_engine')

View File

@@ -4817,6 +4817,14 @@ def workout_upload_api(request):
summary = post_data.get('summary',None)
timezone = post_data.get('timezone',None)
s = 'Posting c2id {c2id} to Rowsandall. Startdatetime {startdatetime}, time zone {timezone}'.format(
c2id=c2id,
startdatetime=startdatetime,
timezone=timezone,
)
dologging('debuglog.log',s)
r = None
if form.is_valid():
t = form.cleaned_data['title']