diff --git a/rowers/polarstuff.py b/rowers/polarstuff.py index 9b9c0e9e..a1962bcc 100644 --- a/rowers/polarstuff.py +++ b/rowers/polarstuff.py @@ -50,32 +50,8 @@ from rowsandall_app.settings import ( #baseurl = 'https://polaraccesslink.com/v3-example' baseurl = 'https://polaraccesslink.com/v3' -# Custom exception handler, returns a 401 HTTP message -# with exception details in the json data -def custom_exception_handler(exc,message): - response = { - "errors": [ - { - "code": str(exc), - "detail": message, - } - ] - } - - res = HttpResponse(message) - res.status_code = 401 - res.json = json.dumps(response) - - return res - -# Custom error class - to raise a NoTokenError -class PolarNoTokenError(Exception): - def __init__(self,value): - self.value=value - - def __str__(self): - return repr(self.value) +from utils import NoTokenError, custom_exception_handler # Exchange access code for long-lived access token diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index b4b39f7c..b1c2d3ed 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -40,7 +40,7 @@ from rowers.models import Rower,Workout from rowers.models import checkworkoutuser import dataprep from dataprep import columndict -from utils import uniqify,isprorower,myqueue +from utils import uniqify,isprorower,myqueue,NoTokenError, custom_exception_handler from uuid import uuid4 import stravalib from stravalib.exc import ActivityUploadFailed,TimeoutExceeded @@ -63,32 +63,6 @@ except ImportError: from utils import geo_distance,ewmovingaverage -# Custom exception handler, returns a 401 HTTP message -# with exception details in the json data -def custom_exception_handler(exc,message): - - response = { - "errors": [ - { - "code": str(exc), - "detail": message, - } - ] - } - - res = HttpResponse(message) - res.status_code = 401 - res.json = json.dumps(response) - - return res - -# Custom error class - to raise a NoTokenError -class StravaNoTokenError(Exception): - def __init__(self,value): - self.value=value - - def __str__(self): - return repr(self.value) # Exchange access code for long-lived access token @@ -462,7 +436,7 @@ def workout_strava_upload(user,w): res = -1 if (r.stravatoken == '') or (r.stravatoken is None): s = "Token doesn't exist. Need to authorize" - raise StravaNoTokenError("Your hovercraft is full of eels") + raise NoTokenError("Your hovercraft is full of eels") else: if (checkworkoutuser(user,w)): try: diff --git a/rowers/views.py b/rowers/views.py index b4ef121c..60416947 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -97,8 +97,6 @@ from tpstuff import tp_open from iso8601 import ParseError import stravastuff import polarstuff -from polarstuff import PolarNoTokenError -from stravastuff import StravaNoTokenError import sporttracksstuff import underarmourstuff from underarmourstuff import underarmour_open @@ -2065,7 +2063,7 @@ def workout_tp_upload_view(request,id=0): res = -1 try: thetoken = tp_open(r.user) - except TPNoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/tpauthorize/") # ready to upload. Hurray @@ -2216,7 +2214,7 @@ def workout_c2_upload_view(request,id=0): try: message,c2id = c2stuff.workout_c2_upload(request.user,w) - except C2NoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/c2authorize/") if message and c2id <=0: @@ -2241,7 +2239,7 @@ def workout_runkeeper_upload_view(request,id=0): try: thetoken = runkeeper_open(r.user) - except RunKeeperNoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/runkeeperauthorize/") # ready to upload. Hurray @@ -2303,7 +2301,7 @@ def workout_underarmour_upload_view(request,id=0): try: thetoken = underarmour_open(r.user) - except UnderArmourNoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/underarmourauthorize/") # ready to upload. Hurray @@ -2367,7 +2365,7 @@ def workout_sporttracks_upload_view(request,id=0): try: thetoken = sporttracks_open(r.user) - except SportTracksNoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/sporttracksauthorize/") @@ -8950,7 +8948,7 @@ def workout_export_view(request,id=0, message="", successmessage=""): try: thetoken = c2_open(request.user) - except C2NoTokenError: + except NoTokenError: thetoken = 0 if (checkworkoutuser(request.user,row)) and thetoken: @@ -8960,7 +8958,7 @@ def workout_export_view(request,id=0, message="", successmessage=""): try: rktoken = runkeeper_open(request.user) - except RunKeeperNoTokenError: + except NoTokenError: rktoken = 0 if (checkworkoutuser(request.user,row)) and rktoken: @@ -9940,7 +9938,7 @@ def workout_sporttracksimport_view(request,message=""): def c2listdebug_view(request,page=1,message=""): try: thetoken = c2_open(request.user) - except C2NoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/c2authorize/") r = getrower(request.user) @@ -9983,7 +9981,7 @@ def c2listdebug_view(request,page=1,message=""): def workout_getc2workout_all(request,page=1,message=""): try: thetoken = c2_open(request.user) - except C2NoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/c2authorize/") res = c2stuff.get_c2_workout_list(request.user,page=page) @@ -10016,7 +10014,7 @@ def workout_getc2workout_all(request,page=1,message=""): def workout_c2import_view(request,page=1,message=""): try: thetoken = c2_open(request.user) - except C2NoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/c2authorize/") res = c2stuff.get_c2_workout_list(request.user,page=page) @@ -10242,7 +10240,7 @@ def workout_getstravaworkout_all(request): def workout_getc2workout_view(request,c2id): try: thetoken = c2_open(request.user) - except C2NoTokenError: + except NoTokenError: return HttpResponseRedirect("/rowers/me/c2authorize/") res = c2stuff.get_c2_workout(request.user,c2id) @@ -10643,7 +10641,7 @@ def workout_upload_view(request, if (upload_to_c2) or (w.user.c2_auto_export and isprorower(w.user)): try: message,id = c2stuff.workout_c2_upload(request.user,w) - except C2NoTokenError: + except NoTokenError: id = 0 message = "Something went wrong with the Concept2 sync" if id>1: @@ -10656,7 +10654,7 @@ def workout_upload_view(request, message,id = stravastuff.workout_strava_upload( request.user,w ) - except StravaNoTokenError: + except NoTokenError: id = 0 message = "Please connect to Strava first" if id>1: @@ -10669,7 +10667,7 @@ def workout_upload_view(request, message,id = sporttracksstuff.workout_sporttracks_upload( request.user,w ) - except SportTracksNoTokenError: + except NoTokenError: message = "Please connect to SportTracks first" id = 0 if id>1: @@ -10682,7 +10680,7 @@ def workout_upload_view(request, message,id = runkeeperstuff.workout_runkeeper_upload( request.user,w ) - except RunKeeperNoTokenError: + except NoTokenError: message = "Please connect to Runkeeper first" id = 0 @@ -10697,7 +10695,7 @@ def workout_upload_view(request, message,id = underarmourstuff.workout_ua_upload( request.user,w ) - except UnderArmourNoTokenError: + except NoTokenError: message = "Please connect to MapMyFitness first" id = 0 @@ -10712,7 +10710,7 @@ def workout_upload_view(request, message,id = tpstuff.workout_tp_upload( request.user,w ) - except TPNoTokenError: + except NoTokenError: message = "Please connect to TrainingPeaks first" id = 0