trying garmin workout list - not working
This commit is contained in:
@@ -57,7 +57,8 @@ class RowerInline(admin.StackedInline):
|
|||||||
'stravatoken','stravatokenexpirydate','stravarefreshtoken',
|
'stravatoken','stravatokenexpirydate','stravarefreshtoken',
|
||||||
'stravaexportas','strava_auto_export',
|
'stravaexportas','strava_auto_export',
|
||||||
'strava_auto_import',
|
'strava_auto_import',
|
||||||
'runkeepertoken','runkeeper_auto_export',)}),
|
'runkeepertoken','runkeeper_auto_export',
|
||||||
|
'garmintoken','garminrefreshtoken')}),
|
||||||
('Team',
|
('Team',
|
||||||
{'fields':('friends','privacy','team')}),
|
{'fields':('friends','privacy','team')}),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -22,10 +22,12 @@ queue = django_rq.get_queue('default')
|
|||||||
queuelow = django_rq.get_queue('low')
|
queuelow = django_rq.get_queue('low')
|
||||||
queuehigh = django_rq.get_queue('low')
|
queuehigh = django_rq.get_queue('low')
|
||||||
from rowers.utils import myqueue
|
from rowers.utils import myqueue
|
||||||
from rowers.models import C2WorldClassAgePerformance
|
from rowers.models import C2WorldClassAgePerformance,Rower,Workout,TombStone
|
||||||
|
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
|
|
||||||
|
from rowers.utils import custom_exception_handler,NoTokenError
|
||||||
|
|
||||||
oauth_data = {
|
oauth_data = {
|
||||||
'client_id': GARMIN_CLIENT_KEY,
|
'client_id': GARMIN_CLIENT_KEY,
|
||||||
'client_secret': GARMIN_CLIENT_SECRET,
|
'client_secret': GARMIN_CLIENT_SECRET,
|
||||||
@@ -80,3 +82,30 @@ def garmin_processcallback(redirect_response,resource_owner_key,resource_owner_s
|
|||||||
garminrefreshtoken = oauth_tokens.get('oauth_token_secret')
|
garminrefreshtoken = oauth_tokens.get('oauth_token_secret')
|
||||||
|
|
||||||
return garmintoken,garminrefreshtoken
|
return garmintoken,garminrefreshtoken
|
||||||
|
|
||||||
|
def garmin_open(user):
|
||||||
|
r = Rower.objects.get(user=user)
|
||||||
|
token = Rower.garmintoken
|
||||||
|
|
||||||
|
if (token == '') or (token is None):
|
||||||
|
raise NoTokenError("User has no garmin token")
|
||||||
|
|
||||||
|
return token
|
||||||
|
|
||||||
|
def get_garmin_workout_list(user):
|
||||||
|
r = Rower.objects.get(user=user)
|
||||||
|
if (r.garmintoken == '') or (r.stravatoken is None):
|
||||||
|
s = "Token doesn't exist. Need to authorize"
|
||||||
|
return custom_exception_handler(401,s)
|
||||||
|
|
||||||
|
garmin = OAuth1Session(oauth_data['client_id'],
|
||||||
|
client_secret=oauth_data['client_secret'],
|
||||||
|
resource_owner_key=r.garmintoken,
|
||||||
|
resource_owner_secret=r.garminrefreshtoken,
|
||||||
|
)
|
||||||
|
|
||||||
|
url = 'https://healthapi.garmin.com/wellness-api/rest/activities?uploadStartTimeInSeconds=1593113760&uploadEndTimeInSeconds=1593279360'
|
||||||
|
|
||||||
|
result = garmin.get(url)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|||||||
@@ -2793,6 +2793,7 @@ class Workout(models.Model):
|
|||||||
uploadedtounderarmour = models.BigIntegerField(default=0)
|
uploadedtounderarmour = models.BigIntegerField(default=0)
|
||||||
uploadedtotp = models.BigIntegerField(default=0)
|
uploadedtotp = models.BigIntegerField(default=0)
|
||||||
uploadedtorunkeeper = models.BigIntegerField(default=0)
|
uploadedtorunkeeper = models.BigIntegerField(default=0)
|
||||||
|
uploadedtogarmin = models.BigIntegerField(default=0)
|
||||||
forceunit = models.CharField(default='lbs',
|
forceunit = models.CharField(default='lbs',
|
||||||
choices = (
|
choices = (
|
||||||
('lbs','lbs'),
|
('lbs','lbs'),
|
||||||
|
|||||||
@@ -1008,6 +1008,21 @@ def workout_stravaimport_view(request,message="",userid=0):
|
|||||||
|
|
||||||
return HttpResponse(res)
|
return HttpResponse(res)
|
||||||
|
|
||||||
|
@login_required()
|
||||||
|
@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True)
|
||||||
|
def workout_garminimport_view(request,userid=0):
|
||||||
|
r = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
|
try:
|
||||||
|
thetoken = garmin_open(request.user)
|
||||||
|
except NoTokenError:
|
||||||
|
return HttpResponseRedirect("/rowers/me/garminauthorize/")
|
||||||
|
|
||||||
|
res = garmin_stuff.get_garmin_workout_list(request.user)
|
||||||
|
|
||||||
|
workouts = []
|
||||||
|
|
||||||
|
|
||||||
# The page where you select which RunKeeper workout to import
|
# The page where you select which RunKeeper workout to import
|
||||||
@login_required()
|
@login_required()
|
||||||
@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True)
|
@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True)
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ TEMPLATES[0]['OPTIONS']['debug'] = DEBUG
|
|||||||
ALLOWED_HOSTS = ['localhost','127.0.0.1']
|
ALLOWED_HOSTS = ['localhost','127.0.0.1']
|
||||||
|
|
||||||
# INSTALLED_APPS += ['debug_toolbar',]
|
# INSTALLED_APPS += ['debug_toolbar',]
|
||||||
|
#INSTALLED_APPS += ["sslserver"]
|
||||||
|
|
||||||
# MIDDLEWARE_CLASSES += ['debug_toolbar.middleware.DebugToolbarMiddleware',]
|
# MIDDLEWARE_CLASSES += ['debug_toolbar.middleware.DebugToolbarMiddleware',]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user