improved timezone awareness on upload
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user