fix for multiple users with same strava ID
This commit is contained in:
@@ -1102,52 +1102,34 @@ def strava_webhook_view(request):
|
|||||||
try:
|
try:
|
||||||
stravaid = data['object_id']
|
stravaid = data['object_id']
|
||||||
except KeyError: # pragma: no cover
|
except KeyError: # pragma: no cover
|
||||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
dologging('strava_webhooks.log','KeyError line 1105')
|
||||||
with open('strava_webhooks.log','a') as f:
|
|
||||||
f.write('\n')
|
|
||||||
f.write(timestamp)
|
|
||||||
f.write(' ')
|
|
||||||
f.write('KeyError line 1051')
|
|
||||||
return HttpResponse(status=200)
|
return HttpResponse(status=200)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
r = Rower.objects.get(strava_owner_id=strava_owner)
|
r = Rower.objects.get(strava_owner_id=strava_owner)
|
||||||
except Rower.DoesNotExist: # pragma: no cover
|
except Rower.DoesNotExist: # pragma: no cover
|
||||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
dologging('strava_webhooks.log','Rower not found')
|
||||||
with open('strava_webhooks.log','a') as f:
|
|
||||||
f.write('\n')
|
|
||||||
f.write(timestamp)
|
|
||||||
f.write(' ')
|
|
||||||
f.write('Rower not found')
|
|
||||||
return HttpResponse(status=200)
|
return HttpResponse(status=200)
|
||||||
|
except MultipleObjectsReturned:
|
||||||
|
s = 'Multiple rowers found for strava ID {id}'.format(id=strava_owner)
|
||||||
|
dologging('strava_webhooks.log',s)
|
||||||
|
rs = Rower.objects.filter(strava_owner_id=strava_owner)
|
||||||
|
r = rs[0]
|
||||||
|
|
||||||
ws = Workout.objects.filter(uploadedtostrava=stravaid)
|
ws = Workout.objects.filter(uploadedtostrava=stravaid)
|
||||||
if ws.count()==0 and r.strava_auto_import:
|
if ws.count()==0 and r.strava_auto_import:
|
||||||
job = stravastuff.async_get_workout(r.user,stravaid)
|
job = stravastuff.async_get_workout(r.user,stravaid)
|
||||||
if job == 0: # pragma: no cover
|
if job == 0: # pragma: no cover
|
||||||
timestamp = time.strftime('%b-%d-%Y_%H%M',t)
|
dologging('strava_webhooks.log','Strava strava_open yielded NoTokenError')
|
||||||
with open('strava_webhooks.log','a') as f:
|
|
||||||
f.write('\n')
|
|
||||||
f.write(timestamp)
|
|
||||||
f.write(' ')
|
|
||||||
f.write('Strava strava_open yielded NoTokenError')
|
|
||||||
else: # pragma: no cover
|
else: # pragma: no cover
|
||||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
dologging('strava_webhooks.log','Workouts already existing')
|
||||||
with open('strava_webhooks.log','a') as f:
|
for w in ws:
|
||||||
f.write('\n')
|
dologging('strava_webhooks.log',str(w))
|
||||||
f.write(timestamp)
|
|
||||||
f.write(' ')
|
|
||||||
f.write('Workouts already existing:\n ')
|
|
||||||
for w in ws:
|
|
||||||
f.write('{w} \n'.format(w=str(w)))
|
|
||||||
elif aspect_type == 'delete':
|
elif aspect_type == 'delete':
|
||||||
try:
|
try:
|
||||||
stravaid = data['object_id']
|
stravaid = data['object_id']
|
||||||
except KeyError: # pragma: no cover
|
except KeyError: # pragma: no cover
|
||||||
with open('strava_webhooks.log','a') as f:
|
dologging('strava_webhooks.log','KeyError line 1132')
|
||||||
f.write('\n')
|
|
||||||
f.write(timestamp)
|
|
||||||
f.write(' ')
|
|
||||||
f.write('KeyError line 10576')
|
|
||||||
try:
|
try:
|
||||||
ws = Workout.objects.filter(uploadedtostrava=stravaid)
|
ws = Workout.objects.filter(uploadedtostrava=stravaid)
|
||||||
if ws.count() == 0:
|
if ws.count() == 0:
|
||||||
@@ -1157,13 +1139,11 @@ def strava_webhook_view(request):
|
|||||||
try: # pragma: no cover
|
try: # pragma: no cover
|
||||||
r = Rower.objects.get(strava_owner_id=strava_owner)
|
r = Rower.objects.get(strava_owner_id=strava_owner)
|
||||||
except Rower.DoesNotExist: # pragma: no cover
|
except Rower.DoesNotExist: # pragma: no cover
|
||||||
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
|
dologging('strava_webhooks.log','Rower not found')
|
||||||
with open('strava_webhooks.log','a') as f:
|
|
||||||
f.write('\n')
|
|
||||||
f.write(timestamp)
|
|
||||||
f.write(' ')
|
|
||||||
f.write('Rower not found')
|
|
||||||
return HttpResponse(status=200)
|
return HttpResponse(status=200)
|
||||||
|
except MultipleObjectsReturned"
|
||||||
|
rs = Rower.objects.filter(strava_owner_id=strava_owner)
|
||||||
|
r = rs[0]
|
||||||
if r.strava_auto_delete: # pragma: no cover
|
if r.strava_auto_delete: # pragma: no cover
|
||||||
for w in ws:
|
for w in ws:
|
||||||
if w.user == r:
|
if w.user == r:
|
||||||
|
|||||||
Reference in New Issue
Block a user