Private
Public Access
1
0

improved timezone awareness on upload

This commit is contained in:
Sander Roosendaal
2017-09-04 12:18:12 +02:00
parent 534d48b664
commit b4953509a4
2 changed files with 35 additions and 5 deletions

View File

@@ -5,7 +5,7 @@ from rowingdata import rowingdata as rrdata
from rowers.tasks import handle_sendemail_unrecognized
from rowers.tasks import handle_zip_file
import pytz
from rowingdata import rower as rrower
from rowingdata import main as rmain
@@ -49,6 +49,8 @@ import datautils
from utils import lbstoN
from scipy.interpolate import griddata
from timezonefinder import TimezoneFinder
import django_rq
queue = django_rq.get_queue('default')
queuelow = django_rq.get_queue('low')
@@ -566,14 +568,41 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
#summary += '\n'
#summary += row.intervalstats()
workoutdate = row.rowdatetime.strftime('%Y-%m-%d')
workoutstarttime = row.rowdatetime.strftime('%H:%M:%S')
#workoutstartdatetime = row.rowdatetime
timezone_str = 'UTC'
try:
workoutstartdatetime = thetimezone.localize(row.rowdatetime).astimezone(utc)
workoutstartdatetime = timezone.make_aware(row.rowdatetime)
except ValueError:
workoutstartdatetime = row.rowdatetime
try:
latavg = row.df[' latitude'].mean()
lonavg = row.df[' longitude'].mean()
tf = TimezoneFinder()
timezone_str = tf.timezone_at(lng=lonavg,lat=latavg)
if timezone_str == None:
timezone_str = tf.closest_timezone_at(lng=lonavg,
lat=latavg)
workoutstartdatetime = pytz.timezone(timezone_str).localize(
row.rowdatetime
)
except ValueError,KeyError:
workoutstartdatetime = thetimezone.localize(
row.rowdatetime
).astimezone(utc)
workoutdate = workoutstartdatetime.astimezone(
pytz.timezone(timezone_str)
).strftime('%Y-%m-%d')
workoutstarttime = workoutstartdatetime.astimezone(
pytz.timezone(timezone_str)
).strftime('%H:%M:%S')
if makeprivate:
privacy = 'hidden'
else:
@@ -604,6 +633,7 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
maxhr=maxhr,averagehr=averagehr,
startdatetime=workoutstartdatetime,
inboard=inboard,oarlength=oarlength,
timezone=timezone_str,
privacy=privacy)

View File

@@ -6275,7 +6275,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
"%Y-%m-%d %H:%M:%S")
startdatetime = timezone.make_aware(startdatetime)
startdatetime = startdatetime.astimezone(pytz.timezone(thetimezone))
print startdatetime
# check if user is owner of this workout
if checkworkoutuser(request.user,row):