trying garmin workout list - not working
This commit is contained in:
@@ -57,7 +57,8 @@ class RowerInline(admin.StackedInline):
|
||||
'stravatoken','stravatokenexpirydate','stravarefreshtoken',
|
||||
'stravaexportas','strava_auto_export',
|
||||
'strava_auto_import',
|
||||
'runkeepertoken','runkeeper_auto_export',)}),
|
||||
'runkeepertoken','runkeeper_auto_export',
|
||||
'garmintoken','garminrefreshtoken')}),
|
||||
('Team',
|
||||
{'fields':('friends','privacy','team')}),
|
||||
)
|
||||
|
||||
@@ -22,10 +22,12 @@ queue = django_rq.get_queue('default')
|
||||
queuelow = django_rq.get_queue('low')
|
||||
queuehigh = django_rq.get_queue('low')
|
||||
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 rowers.utils import custom_exception_handler,NoTokenError
|
||||
|
||||
oauth_data = {
|
||||
'client_id': GARMIN_CLIENT_KEY,
|
||||
'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')
|
||||
|
||||
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)
|
||||
uploadedtotp = models.BigIntegerField(default=0)
|
||||
uploadedtorunkeeper = models.BigIntegerField(default=0)
|
||||
uploadedtogarmin = models.BigIntegerField(default=0)
|
||||
forceunit = models.CharField(default='lbs',
|
||||
choices = (
|
||||
('lbs','lbs'),
|
||||
|
||||
@@ -1008,6 +1008,21 @@ def workout_stravaimport_view(request,message="",userid=0):
|
||||
|
||||
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
|
||||
@login_required()
|
||||
@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True)
|
||||
|
||||
Reference in New Issue
Block a user