more pep
This commit is contained in:
@@ -3282,8 +3282,9 @@ def handle_c2_async_workout(alldata, userid, c2token, c2id, delaysec, defaulttim
|
||||
weightcategory = 'lwt'
|
||||
|
||||
# Create CSV file name and save data to CSV file
|
||||
csvfilename = 'media/Import_'+str(c2id)+'.csv.gz'
|
||||
|
||||
csvfilename = 'media/{code}_{c2id}.csv'.format(
|
||||
code=uuid4().hex[:16], c2id=c2id)
|
||||
|
||||
startdatetime, starttime, workoutdate, duration, starttimeunix, timezone = utils.get_startdatetime_from_c2data(
|
||||
data)
|
||||
|
||||
|
||||
@@ -955,7 +955,6 @@ def previousworkout(workout,user):
|
||||
except ValueError: # pragma: no cover
|
||||
return 0
|
||||
|
||||
|
||||
if ws:
|
||||
return encoder.encode_hex(ws[0].id)
|
||||
else:
|
||||
|
||||
@@ -5,7 +5,6 @@ from rowers.views.statements import *
|
||||
|
||||
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
|
||||
def workout_tcxemail_view(request, id=0):
|
||||
r = getrower(request.user)
|
||||
w = get_workout(id)
|
||||
|
||||
row = rdata(csvfile=w.csvfilename)
|
||||
@@ -125,12 +124,12 @@ def plannedsessions_coach_icsemail_view(request, userid=0):
|
||||
with open(fname2, 'wb') as fop:
|
||||
fop.write(icalstring)
|
||||
|
||||
job = myqueue(queue, handle_sendemail_ical,
|
||||
rower.user.first_name,
|
||||
rower.user.last_name,
|
||||
rower.user.email,
|
||||
url,
|
||||
fname2, debug=False)
|
||||
_ = myqueue(queue, handle_sendemail_ical,
|
||||
rower.user.first_name,
|
||||
rower.user.last_name,
|
||||
rower.user.email,
|
||||
url,
|
||||
fname2, debug=False)
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@@ -165,7 +164,6 @@ def course_kmldownload_view(request, id=0):
|
||||
# Export workout to GPX and send to user's email address
|
||||
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
|
||||
def workout_gpxemail_view(request, id=0):
|
||||
r = getrower(request.user)
|
||||
w = get_workout(id)
|
||||
|
||||
row = rdata(csvfile=w.csvfilename)
|
||||
@@ -211,13 +209,13 @@ def workouts_summaries_email_view(request):
|
||||
df = dataprep.workout_summary_to_df(
|
||||
r, startdate=startdate, enddate=enddate)
|
||||
df.to_csv(filename, encoding='utf-8')
|
||||
res = myqueue(queuehigh, handle_sendemailsummary,
|
||||
r.user.first_name,
|
||||
r.user.last_name,
|
||||
r.user.email,
|
||||
filename,
|
||||
emailbounced=r.emailbounced
|
||||
)
|
||||
_ = myqueue(queuehigh, handle_sendemailsummary,
|
||||
r.user.first_name,
|
||||
r.user.last_name,
|
||||
r.user.email,
|
||||
filename,
|
||||
emailbounced=r.emailbounced
|
||||
)
|
||||
messages.info(
|
||||
request, 'The summary CSV file was sent to you per email')
|
||||
else:
|
||||
@@ -232,8 +230,6 @@ def workouts_summaries_email_view(request):
|
||||
# Get Workout CSV file and send it to user's email address
|
||||
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
|
||||
def workout_csvemail_view(request, id=0):
|
||||
r = getrower(request.user)
|
||||
|
||||
w = get_workout(id)
|
||||
|
||||
rowdata = rdata(csvfile=w.csvfilename)
|
||||
@@ -261,17 +257,15 @@ def workout_csvemail_view(request, id=0):
|
||||
@login_required()
|
||||
@permission_required('rower.is_staff', fn=get_user_by_userid, raise_exception=True)
|
||||
def workout_csvtoadmin_view(request, id=0): # pragma: no cover
|
||||
message = ""
|
||||
r = getrower(request.user)
|
||||
w = get_workout(id)
|
||||
|
||||
csvfile = w.csvfilename
|
||||
res = myqueue(queuehigh,
|
||||
handle_sendemailcsv,
|
||||
'Sander',
|
||||
'Roosendaal',
|
||||
'roosendaalsander@gmail.com',
|
||||
csvfile)
|
||||
_ = myqueue(queuehigh,
|
||||
handle_sendemailcsv,
|
||||
'Sander',
|
||||
'Roosendaal',
|
||||
'roosendaalsander@gmail.com',
|
||||
csvfile)
|
||||
|
||||
successmessage = "The CSV file was sent to the site admin per email"
|
||||
messages.info(request, successmessage)
|
||||
|
||||
@@ -21,7 +21,7 @@ def workout_tp_upload_view(request, id=0):
|
||||
r = getrower(request.user)
|
||||
res = -1
|
||||
try:
|
||||
thetoken = tp_open(r.user)
|
||||
_ = tp_open(r.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/tpauthorize/")
|
||||
|
||||
@@ -69,7 +69,6 @@ def workout_tp_upload_view(request, id=0):
|
||||
# abundance of error logging here because there were/are some bugs
|
||||
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
|
||||
def workout_strava_upload_view(request, id=0):
|
||||
message = ""
|
||||
r = getrower(request.user)
|
||||
w = get_workout_by_opaqueid(request, id)
|
||||
result = -1
|
||||
@@ -166,7 +165,7 @@ def rower_c2_authorize(request): # pragma: no cover
|
||||
# Generate a random string for the state parameter
|
||||
# Save it for use later to prevent xsrf attacks
|
||||
|
||||
state = str(uuid4())
|
||||
# state = str(uuid4())
|
||||
scope = "user:read,results:write"
|
||||
params = {"client_id": C2_CLIENT_ID,
|
||||
"response_type": "code",
|
||||
@@ -195,7 +194,7 @@ def rower_strava_authorize(request): # pragma: no cover
|
||||
# Generate a random string for the state parameter
|
||||
# Save it for use later to prevent xsrf attacks
|
||||
|
||||
state = str(uuid4())
|
||||
# state = str(uuid4())
|
||||
|
||||
params = {"client_id": STRAVA_CLIENT_ID,
|
||||
"response_type": "code",
|
||||
@@ -255,7 +254,7 @@ def rower_rp3_authorize(request): # pragma: no cover
|
||||
# Generate a random string for the state parameter
|
||||
# Save it for use later to prevent xsrf attacks
|
||||
|
||||
state = str(uuid4())
|
||||
# state = str(uuid4())
|
||||
params = {"client_id": RP3_CLIENT_KEY,
|
||||
"response_type": "code",
|
||||
"redirect_uri": RP3_REDIRECT_URI,
|
||||
@@ -273,7 +272,7 @@ def rower_tp_authorize(request): # pragma: no cover
|
||||
# Generate a random string for the state parameter
|
||||
# Save it for use later to prevent xsrf attacks
|
||||
|
||||
state = str(uuid4())
|
||||
# state = str(uuid4())
|
||||
params = {"client_id": TP_CLIENT_KEY,
|
||||
"response_type": "code",
|
||||
"redirect_uri": TP_REDIRECT_URI,
|
||||
@@ -291,7 +290,7 @@ def rower_c2_token_refresh(request):
|
||||
r = getrower(request.user)
|
||||
res = c2stuff.do_refresh_token(r.c2refreshtoken)
|
||||
|
||||
if res[0] != None:
|
||||
if res[0] is not None:
|
||||
access_token = res[0]
|
||||
expires_in = res[1]
|
||||
refresh_token = res[2]
|
||||
@@ -465,15 +464,6 @@ def rower_process_polarcallback(request):
|
||||
if user_id2 != user_id: # pragma: no cover
|
||||
messages.error(request, 'Polar User ID error')
|
||||
|
||||
#expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
|
||||
|
||||
#r = getrower(request.user)
|
||||
#r.polartoken = access_token
|
||||
#r.polartokenexpirydate = expirydatetime
|
||||
#r.polaruserid = user_id
|
||||
|
||||
# r.save()
|
||||
|
||||
if user_id2 == user_id:
|
||||
successmessage = "Tokens stored. Good to go. Please check your import/export settings"
|
||||
messages.info(request, successmessage)
|
||||
@@ -565,7 +555,7 @@ def workout_getnkworkout_all(request, startdatestring='', enddatestring=''):
|
||||
after = str(int(after.timestamp()*1000))
|
||||
|
||||
try:
|
||||
thetoken = nk_open(request.user)
|
||||
_ = nk_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("rower_nk_authorize")
|
||||
|
||||
@@ -601,7 +591,7 @@ def workout_nkimport_view(request, userid=0, after=0, before=0):
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
try:
|
||||
thetoken = nk_open(request.user)
|
||||
_ = nk_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/nkauthorize/")
|
||||
|
||||
@@ -664,17 +654,6 @@ def workout_nkimport_view(request, userid=0, after=0, before=0):
|
||||
pass
|
||||
|
||||
knownnkids = uniqify(knownnkids+tombstones+parkedids)
|
||||
newids = [nkid for nkid in nkids if not nkid in knownnkids]
|
||||
|
||||
nkdata = [{
|
||||
'id': int(item['id']),
|
||||
'elapsed_time':item['elapsedTime'],
|
||||
'start_date':arrow.get(item['startTime']),
|
||||
} for item in res.json()]
|
||||
|
||||
# for item in res.json():
|
||||
# print(item['startTime'],arrow.get(item['startTime']),item['name'])
|
||||
|
||||
workouts = []
|
||||
|
||||
for item in res.json():
|
||||
@@ -689,7 +668,6 @@ def workout_nkimport_view(request, userid=0, after=0, before=0):
|
||||
seconds=int(float(item['elapsedTime'])/1000.)))
|
||||
s = arrow.get(item['startTime'], tzinfo=r.defaulttimezone).format(
|
||||
arrow.FORMAT_RFC850)
|
||||
#s = arrow.get(item['startTime']).to(r.defaulttimezone).isoformat()
|
||||
keys = ['id', 'distance', 'duration', 'starttime', 'name', 'new']
|
||||
values = [i, d, ttot, s, n, nnn]
|
||||
rs = dict(zip(keys, values))
|
||||
@@ -708,9 +686,7 @@ def workout_nkimport_view(request, userid=0, after=0, before=0):
|
||||
alldata[item['id']] = item
|
||||
counter = 0
|
||||
for nkid in nkids:
|
||||
csvfilename = 'media/{code}_{nkid}.csv'.format(
|
||||
code=uuid4().hex[:16], nkid=nkid)
|
||||
result = myqueue(
|
||||
_ = myqueue(
|
||||
queue,
|
||||
handle_nk_async_workout,
|
||||
alldata,
|
||||
@@ -722,7 +698,9 @@ def workout_nkimport_view(request, userid=0, after=0, before=0):
|
||||
)
|
||||
counter = counter+1
|
||||
messages.info(
|
||||
request, 'Your NK logbook workouts will be imported in the background. It may take a few minutes before it appears.')
|
||||
request,
|
||||
'Your NK logbook workouts will be imported in the background.'
|
||||
' It may take a few minutes before it appears.')
|
||||
url = reverse('workouts_view')
|
||||
return HttpResponseRedirect(url)
|
||||
except KeyError:
|
||||
@@ -761,7 +739,7 @@ def workout_nkimport_view(request, userid=0, after=0, before=0):
|
||||
def rower_process_stravacallback(request):
|
||||
try:
|
||||
code = request.GET['code']
|
||||
scope = request.GET['scope']
|
||||
_ = request.GET['scope']
|
||||
except MultiValueDictKeyError: # pragma: no cover
|
||||
try:
|
||||
message = request.GET['error']
|
||||
@@ -788,7 +766,7 @@ def rower_process_stravacallback(request):
|
||||
r.stravarefreshtoken = refresh_token
|
||||
|
||||
r.save()
|
||||
id = stravastuff.set_strava_athlete_id(r.user)
|
||||
_ = stravastuff.set_strava_athlete_id(r.user)
|
||||
|
||||
successmessage = "Tokens stored. Good to go. Please check your import/export settings"
|
||||
messages.info(request, successmessage)
|
||||
@@ -911,9 +889,7 @@ def rower_process_testcallback(request): # pragma: no cover
|
||||
res = ownapistuff.get_token(code)
|
||||
|
||||
access_token = res[0]
|
||||
expires_in = res[1]
|
||||
refresh_token = res[2]
|
||||
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
|
||||
|
||||
text = "Access Token:\n"
|
||||
text += access_token
|
||||
@@ -930,7 +906,7 @@ def workout_rp3import_view(request, userid=0):
|
||||
r = getrequestrower(request, userid=userid)
|
||||
|
||||
try:
|
||||
thetoken = rp3stuff.rp3_open(request.user)
|
||||
_ = rp3stuff.rp3_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
url = reverse('rower_rp3_authorize')
|
||||
return HttpResponseRedirect(url)
|
||||
@@ -950,17 +926,10 @@ def workout_rp3import_view(request, userid=0):
|
||||
|
||||
workouts_list = pd.json_normalize(res.json()['data']['workouts'])
|
||||
|
||||
try:
|
||||
rp3ids = workouts_list['id'].values
|
||||
except KeyError: # pragma: no cover
|
||||
rp3ids = []
|
||||
|
||||
knownrp3ids = uniqify([
|
||||
w.uploadedtorp3 for w in Workout.objects.filter(user=r)
|
||||
])
|
||||
|
||||
newids = [rp3id for rp3id in rp3ids if not rp3id in knownrp3ids]
|
||||
|
||||
workouts = []
|
||||
|
||||
for key, data in workouts_list.iterrows():
|
||||
@@ -1022,7 +991,7 @@ def workout_stravaimport_view(request, message="", userid=0):
|
||||
# if r.user != request.user:
|
||||
# messages.info(request,"You cannot import other people's workouts from Strava")
|
||||
try:
|
||||
thetoken = strava_open(request.user)
|
||||
_ = strava_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
|
||||
|
||||
@@ -1069,8 +1038,6 @@ def workout_stravaimport_view(request, message="", userid=0):
|
||||
knownstravaids = uniqify([
|
||||
w.uploadedtostrava for w in Workout.objects.filter(user=r)
|
||||
])
|
||||
newids = [
|
||||
stravaid for stravaid in stravaids if not stravaid in knownstravaids]
|
||||
|
||||
for item in res.json():
|
||||
d = int(float(item['distance']))
|
||||
@@ -1101,7 +1068,7 @@ def workout_stravaimport_view(request, message="", userid=0):
|
||||
for stravaid in stravaids:
|
||||
csvfilename = 'media/{code}_{stravaid}.csv'.format(
|
||||
code=uuid4().hex[:16], stravaid=stravaid)
|
||||
result = myqueue(
|
||||
_ = myqueue(
|
||||
queue,
|
||||
fetch_strava_workout,
|
||||
rower.stravatoken,
|
||||
@@ -1111,8 +1078,9 @@ def workout_stravaimport_view(request, message="", userid=0):
|
||||
rower.user.id
|
||||
)
|
||||
# done, redirect to workouts list
|
||||
messages.info(request, 'Your Strava workouts will be imported in the background. It may take a few minutes before it appears.'.format(
|
||||
stravaid=stravaid))
|
||||
messages.info(request,
|
||||
'Your Strava workouts will be imported in the background.'
|
||||
' It may take a few minutes before it appears.')
|
||||
url = reverse('workouts_view')
|
||||
return HttpResponseRedirect(url)
|
||||
except KeyError: # pragma: no cover
|
||||
@@ -1166,15 +1134,11 @@ def strava_webhook_view(request):
|
||||
|
||||
# POST - does nothing so far
|
||||
data = json.loads(request.body)
|
||||
aspect_type = data['aspect_type']
|
||||
object_type = data['object_type']
|
||||
strava_owner = data['owner_id']
|
||||
starttimeunix = data['event_time']
|
||||
try:
|
||||
aspect_type = data['aspect_type']
|
||||
object_type = data['object_type']
|
||||
strava_owner = data['owner_id']
|
||||
starttimeunix = data['event_time']
|
||||
_ = data['event_time']
|
||||
except KeyError: # pragma: no cover
|
||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
||||
with open('strava_webhooks.log', 'a') as f:
|
||||
@@ -1322,14 +1286,10 @@ def garmin_summaries_view(request): # pragma: no cover
|
||||
|
||||
@csrf_exempt
|
||||
def garmin_newfiles_ping(request): # pragma: no cover
|
||||
t = time.localtime()
|
||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
||||
|
||||
if request.method != 'POST':
|
||||
return HttpResponse(status=200)
|
||||
|
||||
data = json.loads(request.body)
|
||||
files = data['activityFiles']
|
||||
for file in data['activityFiles']:
|
||||
try:
|
||||
garmintoken = file['userAccessToken']
|
||||
@@ -1338,8 +1298,7 @@ def garmin_newfiles_ping(request): # pragma: no cover
|
||||
callbackURL = file['callbackURL']
|
||||
starttime = file['startTimeInSeconds']
|
||||
fileType = file['fileType']
|
||||
job = garmin_stuff.get_garmin_file(
|
||||
r, callbackURL, starttime, fileType)
|
||||
_ = garmin_stuff.get_garmin_file(r, callbackURL, starttime, fileType)
|
||||
except Rower.DoesNotExist:
|
||||
pass
|
||||
except KeyError:
|
||||
@@ -1375,12 +1334,9 @@ def garmin_details_view(request):
|
||||
if request.method != 'POST': # pragma: no cover
|
||||
return HttpResponse(status=200)
|
||||
|
||||
t = time.localtime()
|
||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
||||
|
||||
# POST request
|
||||
data = json.loads(request.body)
|
||||
result = garmin_stuff.garmin_workouts_from_details(data)
|
||||
_ = garmin_stuff.garmin_workouts_from_details(data)
|
||||
|
||||
return HttpResponse(status=200)
|
||||
|
||||
@@ -1477,11 +1433,9 @@ def workout_sporttracksimport_view(request, message="", userid=0):
|
||||
|
||||
workouts = []
|
||||
|
||||
stids = [int(getidfromuri(item['uri'])) for item in res.json()['items']]
|
||||
knownstids = uniqify([
|
||||
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
|
||||
])
|
||||
newids = [stid for stid in stids if not stid in knownstids]
|
||||
for item in res.json()['items']:
|
||||
d = int(float(item['total_distance']))
|
||||
i = int(getidfromuri(item['uri']))
|
||||
@@ -1528,7 +1482,7 @@ def workout_sporttracksimport_view(request, message="", userid=0):
|
||||
@login_required()
|
||||
def c2listdebug_view(request, page=1, message=""): # pragma: no cover
|
||||
try:
|
||||
thetoken = c2_open(request.user)
|
||||
_ = c2_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/c2authorize/")
|
||||
|
||||
@@ -1573,7 +1527,7 @@ def c2listdebug_view(request, page=1, message=""): # pragma: no cover
|
||||
@login_required()
|
||||
def workout_getc2workout_all(request, page=1, message=""): # pragma: no cover
|
||||
try:
|
||||
thetoken = c2_open(request.user)
|
||||
_ = c2_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/c2authorize/")
|
||||
|
||||
@@ -1594,7 +1548,7 @@ def workout_getc2workout_all(request, page=1, message=""): # pragma: no cover
|
||||
@login_required()
|
||||
def workout_getrp3workout_all(request): # pragma: no cover
|
||||
try:
|
||||
thetoken = rp3_open(request.user)
|
||||
_ = rp3_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/rp3authorize/")
|
||||
|
||||
@@ -1628,7 +1582,7 @@ def workout_c2import_view(request, page=1, userid=0, message=""):
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
try:
|
||||
thetoken = c2_open(request.user)
|
||||
_ = c2_open(request.user)
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/c2authorize/")
|
||||
|
||||
@@ -1657,8 +1611,6 @@ def workout_c2import_view(request, page=1, userid=0, message=""):
|
||||
pass
|
||||
|
||||
knownc2ids = uniqify(knownc2ids+tombstones+parkedids)
|
||||
|
||||
newids = [c2id for c2id in c2ids if not c2id in knownc2ids]
|
||||
for item in res.json()['data']:
|
||||
d = item['distance']
|
||||
i = item['id']
|
||||
@@ -1688,9 +1640,7 @@ def workout_c2import_view(request, page=1, userid=0, message=""):
|
||||
alldata[item['id']] = item
|
||||
counter = 0
|
||||
for c2id in c2ids:
|
||||
csvfilename = 'media/{code}_{c2id}.csv'.format(
|
||||
code=uuid4().hex[:16], c2id=c2id)
|
||||
result = myqueue(
|
||||
_ = myqueue(
|
||||
queue,
|
||||
handle_c2_async_workout,
|
||||
alldata,
|
||||
@@ -1703,7 +1653,9 @@ def workout_c2import_view(request, page=1, userid=0, message=""):
|
||||
counter = counter+1
|
||||
# done, redirect to workouts list
|
||||
messages.info(
|
||||
request, 'Your Concept2 workouts will be imported in the background. It may take a few minutes before it appears.'.format(c2id=c2id))
|
||||
request,
|
||||
'Your Concept2 workouts will be imported in the background.'
|
||||
' It may take a few minutes before it appears.')
|
||||
url = reverse('workouts_view')
|
||||
return HttpResponseRedirect(url)
|
||||
except KeyError: # pragma: no cover
|
||||
@@ -1784,16 +1736,14 @@ def workout_getrp3importview(request, externalid):
|
||||
token = rp3stuff.rp3_open(r.user)
|
||||
startdatetime = request.GET.get('startdatetime')
|
||||
|
||||
job = myqueue(queuehigh,
|
||||
handle_rp3_async_workout,
|
||||
r.user.id,
|
||||
token,
|
||||
externalid,
|
||||
startdatetime,
|
||||
20,
|
||||
)
|
||||
|
||||
#id = rp3stuff.get_rp3_workout(r.user,externalid,startdatetime=startdatetime)
|
||||
_ = myqueue(queuehigh,
|
||||
handle_rp3_async_workout,
|
||||
r.user.id,
|
||||
token,
|
||||
externalid,
|
||||
startdatetime,
|
||||
20,
|
||||
)
|
||||
|
||||
messages.info(request, 'The workout will be imported in the background')
|
||||
|
||||
@@ -1844,7 +1794,7 @@ def workout_getsporttracksworkout_all(request):
|
||||
knownstids = uniqify([
|
||||
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
|
||||
])
|
||||
newids = [stid for stid in stids if not stid in knownstids]
|
||||
newids = [stid for stid in stids if stid not in knownstids]
|
||||
for sporttracksid in newids:
|
||||
id = sporttracksstuff.get_workout(
|
||||
request.user, sporttracksid)
|
||||
@@ -1873,21 +1823,11 @@ def workout_getstravaworkout_next(request): # pragma: no cover
|
||||
if (res.status_code != 200):
|
||||
return 0
|
||||
else:
|
||||
stravaids = [int(item['id']) for item in res.json()]
|
||||
|
||||
alldata = {}
|
||||
for item in res.json():
|
||||
alldata[item['id']] = item
|
||||
|
||||
knownstravaids = uniqify([
|
||||
w.uploadedtostrava for w in Workout.objects.filter(user=r)
|
||||
])
|
||||
newids = [
|
||||
stravaid for stravaid in stravaids if not stravaid in knownstravaids]
|
||||
|
||||
theid = newids[0]
|
||||
|
||||
workoutid = stravastuff.create_async_workout(
|
||||
_ = stravastuff.create_async_workout(
|
||||
alldata, r.user, stravaid, debug=True)
|
||||
|
||||
url = reverse('workouts_view')
|
||||
|
||||
@@ -8,8 +8,6 @@ from rq.job import Job
|
||||
|
||||
@login_required()
|
||||
def download_fit(request, filename=''):
|
||||
r = getrower(request.user)
|
||||
|
||||
pss = PlannedSession.objects.filter(fitfile=filename)
|
||||
|
||||
if len(pss) != 1: # pragma: no cover
|
||||
|
||||
@@ -32,7 +32,6 @@ from rq.registry import StartedJobRegistry
|
||||
from rq.exceptions import NoSuchJobError
|
||||
import threading
|
||||
import redis
|
||||
import time
|
||||
import colorsys
|
||||
|
||||
import zipfile
|
||||
@@ -143,7 +142,6 @@ from rowers.models import (
|
||||
PlannedSession, DeactivateUserForm, DeleteUserForm,
|
||||
TrainingPlan, TrainingPlanForm, TrainingTarget, TrainingTargetForm,
|
||||
TrainingMacroCycle, TrainingMesoCycle, TrainingMicroCycle,
|
||||
TrainingTarget, TrainingTargetForm,
|
||||
TrainingMacroCycleForm, createmacrofillers,
|
||||
createmicrofillers, createmesofillers,
|
||||
microcyclecheckdates, mesocyclecheckdates, macrocyclecheckdates,
|
||||
@@ -221,7 +219,6 @@ from rowsandall_app.settings import (
|
||||
NK_REDIRECT_URI, NK_CLIENT_ID, NK_CLIENT_SECRET
|
||||
)
|
||||
|
||||
#from rowers.tasks_standalone import addcomment2
|
||||
from django.contrib import messages
|
||||
from async_messages import messages as a_messages
|
||||
|
||||
@@ -261,7 +258,7 @@ from rowers.tasks import (
|
||||
)
|
||||
|
||||
from scipy.signal import savgol_filter
|
||||
#from django.shortcuts import render_to_response
|
||||
|
||||
try:
|
||||
from Cookie import SimpleCookie
|
||||
except ModuleNotFoundError:
|
||||
@@ -505,7 +502,7 @@ def getrequestrower(request, rowerid=0, userid=0, notpermanent=False):
|
||||
# if userid == 0:
|
||||
# userid = request.user.id
|
||||
|
||||
if notpermanent == False:
|
||||
if notpermanent is False:
|
||||
if rowerid == 0 and 'rowerid' in request.session:
|
||||
rowerid = request.session['rowerid']
|
||||
|
||||
@@ -537,7 +534,7 @@ def getrequestrower(request, rowerid=0, userid=0, notpermanent=False):
|
||||
request.session['rowerid'] = request.user.rower.id
|
||||
raise PermissionDenied("You have no access to this user")
|
||||
|
||||
if notpermanent == False:
|
||||
if notpermanent is False:
|
||||
request.session['rowerid'] = r.id
|
||||
|
||||
request.session['rowerid'] = r.id
|
||||
@@ -551,7 +548,7 @@ def getrequestrowercoachee(request, rowerid=0, userid=0, notpermanent=False):
|
||||
# if userid == 0:
|
||||
# userid = request.user.id
|
||||
|
||||
if notpermanent == False:
|
||||
if notpermanent is False:
|
||||
if rowerid == 0 and 'rowerid' in request.session:
|
||||
rowerid = request.session['rowerid']
|
||||
|
||||
@@ -583,7 +580,7 @@ def getrequestrowercoachee(request, rowerid=0, userid=0, notpermanent=False):
|
||||
request.session['rowerid'] = request.user.rower.id
|
||||
raise PermissionDenied("You have no access to this user")
|
||||
|
||||
if notpermanent == False:
|
||||
if notpermanent is False:
|
||||
request.session['rowerid'] = r.id
|
||||
|
||||
request.session['rowerid'] = r.id
|
||||
@@ -595,7 +592,7 @@ def getrequestplanrower(request, rowerid=0, userid=0, notpermanent=False):
|
||||
userid = int(userid)
|
||||
rowerid = int(rowerid)
|
||||
|
||||
if notpermanent == False:
|
||||
if notpermanent is False:
|
||||
if rowerid == 0 and 'rowerid' in request.session:
|
||||
rowerid = request.session['rowerid']
|
||||
|
||||
@@ -625,7 +622,7 @@ def getrequestplanrower(request, rowerid=0, userid=0, notpermanent=False):
|
||||
request.session['rowerid'] = r.id
|
||||
raise PermissionDenied("You have no access to this user")
|
||||
|
||||
if notpermanent == False:
|
||||
if notpermanent is False:
|
||||
request.session['rowerid'] = r.id
|
||||
|
||||
return r
|
||||
@@ -671,7 +668,6 @@ def get_workoutuser(id, request):
|
||||
|
||||
|
||||
def getvalue(data): # pragma: no cover
|
||||
perc = 0
|
||||
total = 1
|
||||
done = 0
|
||||
id = 0
|
||||
@@ -738,12 +734,11 @@ except ImportError: # pragma: no cover
|
||||
pass
|
||||
|
||||
try:
|
||||
from rest_framework import status, permissions, generics
|
||||
from rest_framework import permissions, generics
|
||||
except ImportError: # pragma: no cover
|
||||
pass
|
||||
|
||||
|
||||
#LOCALTIMEZONE = tz('Etc/UTC')
|
||||
USER_LANGUAGE = 'en-US'
|
||||
|
||||
|
||||
@@ -1043,16 +1038,6 @@ def get_thumbnails(request, id):
|
||||
row = get_workout_by_opaqueid(request, id)
|
||||
|
||||
r = getrower(request.user)
|
||||
result = request.user.is_authenticated and ispromember(request.user)
|
||||
if result:
|
||||
promember = 1
|
||||
if request.user == row.user.user:
|
||||
mayedit = 1
|
||||
|
||||
comments = WorkoutComment.objects.filter(workout=row)
|
||||
|
||||
aantalcomments = len(comments)
|
||||
|
||||
favorites, maxfav = getfavorites(r, row)
|
||||
|
||||
charts = []
|
||||
@@ -1143,8 +1128,7 @@ def session_jobs_status(request):
|
||||
def rowhascoordinates(row):
|
||||
# create interactive plot
|
||||
f1 = row.csvfilename
|
||||
u = row.user.user
|
||||
r = getrower(u)
|
||||
|
||||
rowdata = rdata(csvfile=f1)
|
||||
hascoordinates = 1
|
||||
if rowdata != 0:
|
||||
@@ -1191,11 +1175,11 @@ def get_my_teams(user):
|
||||
teams1 = []
|
||||
|
||||
teams2 = Team.objects.filter(manager=user)
|
||||
teams = list(set(teams1).union(set(teams2)))
|
||||
myteams = list(set(teams1).union(set(teams2)))
|
||||
except TypeError:
|
||||
teams = []
|
||||
myteams = []
|
||||
|
||||
return teams
|
||||
return myteams
|
||||
|
||||
# Used for the interval editor - translates seconds to a time object
|
||||
|
||||
|
||||
Reference in New Issue
Block a user