diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index 86787cce..f27da672 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -1102,52 +1102,34 @@ def strava_webhook_view(request): try: stravaid = data['object_id'] except KeyError: # pragma: no cover - timestamp = time.strftime('%b-%d-%Y_%H%M', t) - with open('strava_webhooks.log','a') as f: - f.write('\n') - f.write(timestamp) - f.write(' ') - f.write('KeyError line 1051') + dologging('strava_webhooks.log','KeyError line 1105') return HttpResponse(status=200) try: r = Rower.objects.get(strava_owner_id=strava_owner) except Rower.DoesNotExist: # pragma: no cover - timestamp = time.strftime('%b-%d-%Y_%H%M', t) - with open('strava_webhooks.log','a') as f: - f.write('\n') - f.write(timestamp) - f.write(' ') - f.write('Rower not found') + dologging('strava_webhooks.log','Rower not found') 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) if ws.count()==0 and r.strava_auto_import: job = stravastuff.async_get_workout(r.user,stravaid) if job == 0: # pragma: no cover - timestamp = time.strftime('%b-%d-%Y_%H%M',t) - with open('strava_webhooks.log','a') as f: - f.write('\n') - f.write(timestamp) - f.write(' ') - f.write('Strava strava_open yielded NoTokenError') + dologging('strava_webhooks.log','Strava strava_open yielded NoTokenError') else: # pragma: no cover - timestamp = time.strftime('%b-%d-%Y_%H%M', t) - with open('strava_webhooks.log','a') as f: - f.write('\n') - f.write(timestamp) - f.write(' ') - f.write('Workouts already existing:\n ') - for w in ws: - f.write('{w} \n'.format(w=str(w))) + dologging('strava_webhooks.log','Workouts already existing') + for w in ws: + dologging('strava_webhooks.log',str(w)) elif aspect_type == 'delete': try: stravaid = data['object_id'] except KeyError: # pragma: no cover - with open('strava_webhooks.log','a') as f: - f.write('\n') - f.write(timestamp) - f.write(' ') - f.write('KeyError line 10576') + dologging('strava_webhooks.log','KeyError line 1132') try: ws = Workout.objects.filter(uploadedtostrava=stravaid) if ws.count() == 0: @@ -1157,13 +1139,11 @@ def strava_webhook_view(request): try: # pragma: no cover r = Rower.objects.get(strava_owner_id=strava_owner) except Rower.DoesNotExist: # pragma: no cover - timestamp = time.strftime('%b-%d-%Y_%H%M', t) - with open('strava_webhooks.log','a') as f: - f.write('\n') - f.write(timestamp) - f.write(' ') - f.write('Rower not found') + dologging('strava_webhooks.log','Rower not found') 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 for w in ws: if w.user == r: