doing time zones slightly better
This commit is contained in:
@@ -1727,60 +1727,53 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
|
|||||||
workoutstartdatetime = row.rowdatetime
|
workoutstartdatetime = row.rowdatetime
|
||||||
|
|
||||||
|
|
||||||
timezone_str = 'UTC'
|
if workoutstartdatetime.tzinfo is None:
|
||||||
try:
|
timezone_str = 'UTC'
|
||||||
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()
|
|
||||||
try:
|
try:
|
||||||
timezone_str = tf.timezone_at(lng=lonavg, lat=latavg)
|
workoutstartdatetime = timezone.make_aware(workoutstartdatetime)
|
||||||
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
|
|
||||||
)
|
|
||||||
except ValueError:
|
except ValueError:
|
||||||
workoutstartdatetime = workoutstartdatetime.astimezone(
|
pass
|
||||||
pytz.timezone(timezone_str)
|
|
||||||
)
|
|
||||||
except KeyError:
|
|
||||||
timezone_str = r.defaulttimezone
|
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
duration = totaltime_sec_to_string(totaltime)
|
||||||
|
|
||||||
workoutdate = workoutstartdatetime.astimezone(
|
workoutdate = workoutstartdatetime.strftime('%Y-%m-%d')
|
||||||
pytz.timezone(timezone_str)
|
workoutstarttime = workoutstartdatetime.strftime('%H:%M:%S')
|
||||||
).strftime('%Y-%m-%d')
|
|
||||||
workoutstarttime = workoutstartdatetime.astimezone(
|
|
||||||
pytz.timezone(timezone_str)
|
|
||||||
).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,
|
workoutdate=workoutdate,
|
||||||
workoutstarttime=workoutstarttime,
|
workoutstarttime=workoutstarttime,
|
||||||
)
|
)
|
||||||
|
dologging('debuglog.log',s)
|
||||||
|
|
||||||
|
|
||||||
if makeprivate: # pragma: no cover
|
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
|
if title is not None and len(title)>140: # pragma: no cover
|
||||||
title = title[0:140]
|
title = title[0:140]
|
||||||
|
|
||||||
|
timezone_str = str(workoutstartdatetime.tzinfo)
|
||||||
|
|
||||||
w = Workout(user=r, name=title, date=workoutdate,
|
w = Workout(user=r, name=title, date=workoutdate,
|
||||||
workouttype=workouttype,
|
workouttype=workouttype,
|
||||||
boattype=boattype,
|
boattype=boattype,
|
||||||
|
|||||||
Reference in New Issue
Block a user