passes checks in python3
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
|
||||
import time
|
||||
import colorsys
|
||||
import timestring
|
||||
|
||||
import zipfile
|
||||
import bleach
|
||||
import arrow
|
||||
@@ -56,7 +56,11 @@ from rowers.forms import (
|
||||
MetricsForm,DisqualificationForm,disqualificationreasons,
|
||||
disqualifiers,SearchForm,BillingForm,PlanSelectForm
|
||||
)
|
||||
from django.core.urlresolvers import reverse, reverse_lazy
|
||||
|
||||
try:
|
||||
from django.core.urlresolvers import reverse, reverse_lazy
|
||||
except ModuleNotFoundError:
|
||||
from django.urls import reverse, reverse_lazy
|
||||
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.template import RequestContext
|
||||
@@ -181,7 +185,10 @@ from rowers.tasks import (
|
||||
|
||||
from scipy.signal import savgol_filter
|
||||
from django.shortcuts import render_to_response
|
||||
from Cookie import SimpleCookie
|
||||
try:
|
||||
from Cookie import SimpleCookie
|
||||
except ModuleNotFoundError:
|
||||
from http.cookies import SimpleCookie
|
||||
from shutil import copyfile,move
|
||||
import rowers.mytypes as mytypes
|
||||
from rowingdata import rower as rrower
|
||||
@@ -287,7 +294,7 @@ def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
|
||||
u = User.objects.get(id=userid)
|
||||
r = getrower(u)
|
||||
else:
|
||||
r = getrower(request.user)
|
||||
r = getrower(request.user)
|
||||
|
||||
except Rower.DoesNotExist:
|
||||
raise Http404("Rower doesn't exist")
|
||||
@@ -320,7 +327,7 @@ def getrequestplanrower(request,rowerid=0,userid=0,notpermanent=False):
|
||||
u = User.objects.get(id=userid)
|
||||
r = getrower(u)
|
||||
else:
|
||||
r = getrower(request.user)
|
||||
r = getrower(request.user)
|
||||
|
||||
except Rower.DoesNotExist:
|
||||
raise Http404("Rower doesn't exist")
|
||||
@@ -415,7 +422,7 @@ class SessionTaskListener(threading.Thread):
|
||||
for item in self.pubsub.listen():
|
||||
if item['data'] == "KILL":
|
||||
self.pubsub.unsubscribe()
|
||||
print self, "unsubscribed and finished"
|
||||
print(self, "unsubscribed and finished")
|
||||
break
|
||||
else:
|
||||
self.work(item)
|
||||
@@ -465,7 +472,7 @@ from rowers.interactiveplots import *
|
||||
from rowers.celery import result as celery_result
|
||||
|
||||
# Define the API documentation
|
||||
schema_view = get_swagger_view(title='Rowsandall API')
|
||||
#schema_view = get_swagger_view(title='Rowsandall API')
|
||||
|
||||
def remove_asynctask(request,id):
|
||||
try:
|
||||
@@ -740,9 +747,9 @@ def get_thumbnails(request,id):
|
||||
r = getrower(request.user)
|
||||
result = request.user.is_authenticated() and ispromember(request.user)
|
||||
if result:
|
||||
promember=1
|
||||
promember=1
|
||||
if request.user == row.user.user:
|
||||
mayedit=1
|
||||
mayedit=1
|
||||
|
||||
comments = WorkoutComment.objects.filter(workout=row)
|
||||
|
||||
@@ -872,7 +879,7 @@ def rowhascoordinates(row):
|
||||
|
||||
if not latitude.std():
|
||||
hascoordinates = 0
|
||||
except KeyError,AttributeError:
|
||||
except (KeyError,AttributeError):
|
||||
hascoordinates = 0
|
||||
|
||||
else:
|
||||
@@ -885,11 +892,11 @@ def rowhascoordinates(row):
|
||||
# Checks for CSV file, then for gzipped CSV file, and if all fails, returns 0
|
||||
def rdata(file,rower=rrower()):
|
||||
try:
|
||||
res = rrdata(csvfile=file,rower=rower)
|
||||
except IOError, IndexError:
|
||||
res = rrdata(csvfile=file,rower=rower)
|
||||
except (IOError, IndexError):
|
||||
try:
|
||||
res = rrdata(csvfile=file+'.gz',rower=rower)
|
||||
except IOError, IndexError:
|
||||
except (IOError, IndexError):
|
||||
res = 0
|
||||
|
||||
return res
|
||||
@@ -913,24 +920,24 @@ def get_my_teams(user):
|
||||
# Used for the interval editor - translates seconds to a time object
|
||||
def get_time(second):
|
||||
if (second<=0) or (second>1e9):
|
||||
hours = 0
|
||||
minutes=0
|
||||
sec=0
|
||||
microsecond = 0
|
||||
hours = 0
|
||||
minutes=0
|
||||
sec=0
|
||||
microsecond = 0
|
||||
elif math.isnan(second):
|
||||
hours = 0
|
||||
minutes=0
|
||||
sec=0
|
||||
microsecond = 0
|
||||
hours = 0
|
||||
minutes=0
|
||||
sec=0
|
||||
microsecond = 0
|
||||
else:
|
||||
days = int(second/(24.*3600.)) % (24*3600)
|
||||
hours = int((second-24.*3600.*days)/3600.) % 24
|
||||
minutes = int((second-3600.*(hours+24.*days))/60.) % 60
|
||||
sec = int(second-3600.*(hours+24.*days)-60.*minutes) % 60
|
||||
microsecond = int(1.0e6*(second-3600.*(hours+24.*days)-60.*minutes-sec))
|
||||
days = int(second/(24.*3600.)) % (24*3600)
|
||||
hours = int((second-24.*3600.*days)/3600.) % 24
|
||||
minutes = int((second-3600.*(hours+24.*days))/60.) % 60
|
||||
sec = int(second-3600.*(hours+24.*days)-60.*minutes) % 60
|
||||
microsecond = int(1.0e6*(second-3600.*(hours+24.*days)-60.*minutes-sec))
|
||||
return datetime.time(hours,minutes,sec,microsecond)
|
||||
|
||||
|
||||
|
||||
# get the workout ID from the SportTracks URI
|
||||
def getidfromsturi(uri,length=8):
|
||||
return uri[len(uri)-length:]
|
||||
@@ -942,7 +949,7 @@ def getidfromuri(uri):
|
||||
return m.group(2)
|
||||
|
||||
|
||||
|
||||
|
||||
from rowers.utils import (
|
||||
geo_distance,serialize_list,deserialize_list,uniqify,
|
||||
str2bool,range_to_color_hex,absolute,myqueue,get_call,
|
||||
@@ -1041,24 +1048,24 @@ def sendmail(request):
|
||||
if request.method == 'POST':
|
||||
form = EmailForm(request.POST)
|
||||
if form.is_valid():
|
||||
firstname = form.cleaned_data['firstname']
|
||||
lastname = form.cleaned_data['lastname']
|
||||
email = form.cleaned_data['email']
|
||||
subject = form.cleaned_data['subject']
|
||||
botcheck = form.cleaned_data['botcheck'].lower()
|
||||
message = form.cleaned_data['message']
|
||||
if botcheck == 'yes':
|
||||
try:
|
||||
fullemail = firstname + " " + lastname + " " + "<" + email + ">"
|
||||
send_mail(subject, message, fullemail, ['info@rowsandall.com'])
|
||||
return HttpResponseRedirect('/rowers/email/thankyou/')
|
||||
except:
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
else:
|
||||
firstname = form.cleaned_data['firstname']
|
||||
lastname = form.cleaned_data['lastname']
|
||||
email = form.cleaned_data['email']
|
||||
subject = form.cleaned_data['subject']
|
||||
botcheck = form.cleaned_data['botcheck'].lower()
|
||||
message = form.cleaned_data['message']
|
||||
if botcheck == 'yes':
|
||||
try:
|
||||
fullemail = firstname + " " + lastname + " " + "<" + email + ">"
|
||||
send_mail(subject, message, fullemail, ['info@rowsandall.com'])
|
||||
return HttpResponseRedirect('/rowers/email/thankyou/')
|
||||
except:
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
else:
|
||||
messages.error(request,'You have to answer YES to the question')
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
else:
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
else:
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
else:
|
||||
return HttpResponseRedirect('/rowers/email/')
|
||||
|
||||
@@ -1074,43 +1081,43 @@ def add_workout_from_strokedata(user,importid,data,strokedata,
|
||||
workouttype = 'rower'
|
||||
|
||||
if workouttype not in [x[0] for x in Workout.workouttypes]:
|
||||
workouttype = 'other'
|
||||
workouttype = 'other'
|
||||
try:
|
||||
comments = data['comments']
|
||||
comments = data['comments']
|
||||
except:
|
||||
comments = ' '
|
||||
comments = ' '
|
||||
|
||||
# comments = "Imported data \n %s" % comments
|
||||
# comments = "Imported data \n"+comments # str(comments)
|
||||
try:
|
||||
thetimezone = tz(data['timezone'])
|
||||
thetimezone = tz(data['timezone'])
|
||||
except:
|
||||
thetimezone = 'UTC'
|
||||
thetimezone = 'UTC'
|
||||
|
||||
r = getrower(user)
|
||||
try:
|
||||
rowdatetime = iso8601.parse_date(data['date_utc'])
|
||||
rowdatetime = iso8601.parse_date(data['date_utc'])
|
||||
except KeyError:
|
||||
rowdatetime = iso8601.parse_date(data['start_date'])
|
||||
rowdatetime = iso8601.parse_date(data['start_date'])
|
||||
except ParseError:
|
||||
rowdatetime = iso8601.parse_date(data['date'])
|
||||
rowdatetime = iso8601.parse_date(data['date'])
|
||||
|
||||
|
||||
|
||||
try:
|
||||
c2intervaltype = data['workout_type']
|
||||
|
||||
|
||||
except KeyError:
|
||||
c2intervaltype = ''
|
||||
|
||||
c2intervaltype = ''
|
||||
|
||||
try:
|
||||
title = data['name']
|
||||
title = data['name']
|
||||
except KeyError:
|
||||
title = ""
|
||||
try:
|
||||
t = data['comments'].split('\n', 1)[0]
|
||||
title += t[:20]
|
||||
except:
|
||||
title = 'Imported'
|
||||
title = ""
|
||||
try:
|
||||
t = data['comments'].split('\n', 1)[0]
|
||||
title += t[:20]
|
||||
except:
|
||||
title = 'Imported'
|
||||
|
||||
starttimeunix = arrow.get(rowdatetime).timestamp
|
||||
|
||||
@@ -1125,17 +1132,17 @@ def add_workout_from_strokedata(user,importid,data,strokedata,
|
||||
nr_rows = len(unixtime)
|
||||
|
||||
try:
|
||||
latcoord = strokedata.loc[:,'lat']
|
||||
loncoord = strokedata.loc[:,'lon']
|
||||
latcoord = strokedata.loc[:,'lat']
|
||||
loncoord = strokedata.loc[:,'lon']
|
||||
except:
|
||||
latcoord = np.zeros(nr_rows)
|
||||
loncoord = np.zeros(nr_rows)
|
||||
latcoord = np.zeros(nr_rows)
|
||||
loncoord = np.zeros(nr_rows)
|
||||
|
||||
|
||||
try:
|
||||
strokelength = strokedata.loc[:,'strokelength']
|
||||
strokelength = strokedata.loc[:,'strokelength']
|
||||
except:
|
||||
strokelength = np.zeros(nr_rows)
|
||||
strokelength = np.zeros(nr_rows)
|
||||
|
||||
dist2 = 0.1*strokedata.loc[:,'d']
|
||||
|
||||
@@ -1159,27 +1166,27 @@ def add_workout_from_strokedata(user,importid,data,strokedata,
|
||||
# save csv
|
||||
# Create data frame with all necessary data to write to csv
|
||||
df = pd.DataFrame({'TimeStamp (sec)':unixtime,
|
||||
' Horizontal (meters)': dist2,
|
||||
' Cadence (stokes/min)':spm,
|
||||
' HRCur (bpm)':hr,
|
||||
' longitude':loncoord,
|
||||
' latitude':latcoord,
|
||||
' Stroke500mPace (sec/500m)':pace,
|
||||
' Power (watts)':power,
|
||||
' DragFactor':np.zeros(nr_rows),
|
||||
' DriveLength (meters)':np.zeros(nr_rows),
|
||||
' StrokeDistance (meters)':strokelength,
|
||||
' DriveTime (ms)':np.zeros(nr_rows),
|
||||
' StrokeRecoveryTime (ms)':np.zeros(nr_rows),
|
||||
' AverageDriveForce (lbs)':np.zeros(nr_rows),
|
||||
' PeakDriveForce (lbs)':np.zeros(nr_rows),
|
||||
' lapIdx':lapidx,
|
||||
' ElapsedTime (sec)':seconds
|
||||
})
|
||||
' Horizontal (meters)': dist2,
|
||||
' Cadence (stokes/min)':spm,
|
||||
' HRCur (bpm)':hr,
|
||||
' longitude':loncoord,
|
||||
' latitude':latcoord,
|
||||
' Stroke500mPace (sec/500m)':pace,
|
||||
' Power (watts)':power,
|
||||
' DragFactor':np.zeros(nr_rows),
|
||||
' DriveLength (meters)':np.zeros(nr_rows),
|
||||
' StrokeDistance (meters)':strokelength,
|
||||
' DriveTime (ms)':np.zeros(nr_rows),
|
||||
' StrokeRecoveryTime (ms)':np.zeros(nr_rows),
|
||||
' AverageDriveForce (lbs)':np.zeros(nr_rows),
|
||||
' PeakDriveForce (lbs)':np.zeros(nr_rows),
|
||||
' lapIdx':lapidx,
|
||||
' ElapsedTime (sec)':seconds
|
||||
})
|
||||
|
||||
|
||||
df.sort_values(by='TimeStamp (sec)',ascending=True)
|
||||
|
||||
|
||||
timestr = strftime("%Y%m%d-%H%M%S")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user