diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 1d187c70..b8c75a94 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1727,60 +1727,53 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', workoutstartdatetime = row.rowdatetime - timezone_str = 'UTC' - try: - workoutstartdatetime = timezone.make_aware(workoutstartdatetime) - except ValueError: - pass - - - dologging('debuglog.log','Dataprep line 1737, Workout Startdatetime {workoutstartdatetime}'.format( - workoutstartdatetime=workoutstartdatetime, - )) - - - - - - try: - latavg = row.df[' latitude'].mean() - lonavg = row.df[' longitude'].mean() - - tf = TimezoneFinder() + if workoutstartdatetime.tzinfo is None: + timezone_str = 'UTC' try: - timezone_str = tf.timezone_at(lng=lonavg, lat=latavg) - except (ValueError,OverflowError): # pragma: no cover - timezone_str = 'UTC' - if timezone_str == None: # pragma: no cover - timezone_str = tf.closest_timezone_at(lng=lonavg, - lat=latavg) - if timezone_str == None: # pragma: no cover - timezone_str = r.defaulttimezone - try: - workoutstartdatetime = pytz.timezone(timezone_str).localize( - row.rowdatetime - ) + workoutstartdatetime = timezone.make_aware(workoutstartdatetime) except ValueError: - workoutstartdatetime = workoutstartdatetime.astimezone( - pytz.timezone(timezone_str) - ) - except KeyError: - timezone_str = r.defaulttimezone + pass + try: + latavg = row.df[' latitude'].mean() + lonavg = row.df[' longitude'].mean() + + tf = TimezoneFinder() + try: + timezone_str = tf.timezone_at(lng=lonavg, lat=latavg) + except (ValueError,OverflowError): # pragma: no cover + timezone_str = 'UTC' + if timezone_str is None: # pragma: no cover + timezone_str = tf.closest_timezone_at(lng=lonavg, + lat=latavg) + if timezone_str is None: # pragma: no cover + timezone_str = r.defaulttimezone + try: + workoutstartdatetime = pytz.timezone(timezone_str).localize( + row.rowdatetime + ) + except ValueError: + workoutstartdatetime = workoutstartdatetime.astimezone( + pytz.timezone(timezone_str) + ) + except KeyError: + timezone_str = r.defaulttimezone + + dologging('debuglog.log','Dataprep line 1763, Workout Startdatetime {workoutstartdatetime}'.format( + workoutstartdatetime=workoutstartdatetime, + )) + duration = totaltime_sec_to_string(totaltime) - workoutdate = workoutstartdatetime.astimezone( - pytz.timezone(timezone_str) - ).strftime('%Y-%m-%d') - workoutstarttime = workoutstartdatetime.astimezone( - pytz.timezone(timezone_str) - ).strftime('%H:%M:%S') + workoutdate = workoutstartdatetime.strftime('%Y-%m-%d') + workoutstarttime = workoutstartdatetime.strftime('%H:%M:%S') - s = 'Dataprep line 1780 workoutdate and time set to {workoutdate} and {workoutstarttime}'.format( + s = 'Dataprep line 1772 workoutdate and time set to {workoutdate} and {workoutstarttime}'.format( workoutdate=workoutdate, workoutstarttime=workoutstarttime, ) + dologging('debuglog.log',s) if makeprivate: # pragma: no cover @@ -1812,6 +1805,8 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', if title is not None and len(title)>140: # pragma: no cover title = title[0:140] + timezone_str = str(workoutstartdatetime.tzinfo) + w = Workout(user=r, name=title, date=workoutdate, workouttype=workouttype, boattype=boattype,