passing tests for nk_list
This commit is contained in:
@@ -97,6 +97,7 @@ def nk_open(user):
|
|||||||
raise NoTokenError("User has no token")
|
raise NoTokenError("User has no token")
|
||||||
else:
|
else:
|
||||||
if (timezone.now()>r.nktokenexpirydate):
|
if (timezone.now()>r.nktokenexpirydate):
|
||||||
|
print('refreshing token')
|
||||||
thetoken = rower_nk_token_refresh(user)
|
thetoken = rower_nk_token_refresh(user)
|
||||||
if thetoken == None:
|
if thetoken == None:
|
||||||
raise NoTokenError("User has no token")
|
raise NoTokenError("User has no token")
|
||||||
@@ -115,10 +116,7 @@ def do_refresh_token(refreshtoken):
|
|||||||
url = oauth_data['base_url']
|
url = oauth_data['base_url']
|
||||||
|
|
||||||
response = requests.post(url,data=post_data,auth=HTTPBasicAuth(oauth_data['client_id'],oauth_data['client_secret']))
|
response = requests.post(url,data=post_data,auth=HTTPBasicAuth(oauth_data['client_id'],oauth_data['client_secret']))
|
||||||
|
print(response.status_code)
|
||||||
print(response.request.headers)
|
|
||||||
print(post_data)
|
|
||||||
print(response.status_code,response.text)
|
|
||||||
|
|
||||||
if response.status_code != 200:
|
if response.status_code != 200:
|
||||||
return [0,0,0]
|
return [0,0,0]
|
||||||
@@ -152,11 +150,11 @@ def make_authorization_url(request):
|
|||||||
|
|
||||||
def get_nk_workout_list(user,fake=False):
|
def get_nk_workout_list(user,fake=False):
|
||||||
r = Rower.objects.get(user=user)
|
r = Rower.objects.get(user=user)
|
||||||
|
print(r.nktoken,r.nktokenexpirydate)
|
||||||
if (r.nktoken == '') or (r.nktoken is None):
|
if (r.nktoken == '') or (r.nktoken is None):
|
||||||
s = "Token doesn't exist. Need to authorize"
|
s = "Token doesn't exist. Need to authorize"
|
||||||
return custom_exception_handler(401,s)
|
return custom_exception_handler(401,s)
|
||||||
elif (r.nktokenexpirydate is None or timezone.now()+timedelta(seconds=3599)>r.nktokenexpirydate):
|
elif (r.nktokenexpirydate is None or timezone.now()+timedelta(seconds=10)>r.nktokenexpirydate):
|
||||||
s = "Token expired. Needs to refresh."
|
s = "Token expired. Needs to refresh."
|
||||||
return custom_exception_handler(401,s)
|
return custom_exception_handler(401,s)
|
||||||
else:
|
else:
|
||||||
@@ -179,7 +177,7 @@ def get_nk_workout_list(user,fake=False):
|
|||||||
} # start / end time
|
} # start / end time
|
||||||
|
|
||||||
s = requests.get(url,headers=headers,params=params)
|
s = requests.get(url,headers=headers,params=params)
|
||||||
#print(s.status_code,s.json())
|
|
||||||
|
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li id="concept2"><a href="/rowers/workout/c2list/">Concept2</a></li>
|
<li id="concept2"><a href="/rowers/workout/c2list/">Concept2</a></li>
|
||||||
|
<li id="nklink"><a href="/rowers/workout/nkimport/">NK LiNK</a></li>
|
||||||
<li id="strava"><a href="/rowers/workout/stravaimport/">Strava</a></li>
|
<li id="strava"><a href="/rowers/workout/stravaimport/">Strava</a></li>
|
||||||
<li id="runkeeper"><a href="/rowers/workout/runkeeperimport/">RunKeeper</a></li>
|
<li id="runkeeper"><a href="/rowers/workout/runkeeperimport/">RunKeeper</a></li>
|
||||||
<li id="sporttracks"><a href="/rowers/workout/sporttracksimport/">SportTracks</a></li>
|
<li id="sporttracks"><a href="/rowers/workout/sporttracksimport/">SportTracks</a></li>
|
||||||
|
|||||||
@@ -34,8 +34,8 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="/rowers/workout/nkimport/{{ workout|lookup:'id' }}/">Import</a></td>
|
<a href="/rowers/workout/nkimport/{{ workout|lookup:'id' }}/">Import</a></td>
|
||||||
<td>{{ workout|lookup:'name' }}</td>
|
<td>{{ workout|lookuplong:'name' }}</td>
|
||||||
<td>{{ workout|lookup:'starttime' }}</td>
|
<td class="block" style="width:auto">{{ workout|lookuplong:'starttime' }}</td>
|
||||||
<td>{{ workout|lookup:'duration' }} </td>
|
<td>{{ workout|lookup:'duration' }} </td>
|
||||||
<td>{{ workout|lookup:'distance' }} m</td>
|
<td>{{ workout|lookup:'distance' }} m</td>
|
||||||
<td>{{ workout|lookup:'new' }}</td>
|
<td>{{ workout|lookup:'new' }}</td>
|
||||||
|
|||||||
@@ -918,6 +918,13 @@ def mocked_requests(*args, **kwargs):
|
|||||||
|
|
||||||
|
|
||||||
if nktester.match(args[0]):
|
if nktester.match(args[0]):
|
||||||
|
if 'token' in args[0]:
|
||||||
|
json_data = {
|
||||||
|
'access_token': 'TA3n1vrNjuQJWw0TdCDHnjSmrjIPULhTlejMIWqq',
|
||||||
|
'expires_in': 604800,
|
||||||
|
'refresh_token': 'jHJhFzCfOOKB8oyiayubhLAlxaMkG3ruC1E8YxaR'
|
||||||
|
}
|
||||||
|
return MockResponse(json_data,200)
|
||||||
if nkworkoutlisttester.match(args[0]):
|
if nkworkoutlisttester.match(args[0]):
|
||||||
return MockResponse(nkworkoutlist,200)
|
return MockResponse(nkworkoutlist,200)
|
||||||
elif 'token' in args[0]:
|
elif 'token' in args[0]:
|
||||||
|
|||||||
@@ -419,7 +419,7 @@ class NKObjects(DjangoTestCase):
|
|||||||
@patch('rowers.nkstuff.requests.post', side_effect=mocked_requests)
|
@patch('rowers.nkstuff.requests.post', side_effect=mocked_requests)
|
||||||
def test_nk_list(self, mock_get, mockpost):
|
def test_nk_list(self, mock_get, mockpost):
|
||||||
result = rowers.nkstuff.rower_nk_token_refresh(self.u)
|
result = rowers.nkstuff.rower_nk_token_refresh(self.u)
|
||||||
self.assertEqual(result,"987654321234567898765432123456789")
|
self.assertEqual(result,"TA3n1vrNjuQJWw0TdCDHnjSmrjIPULhTlejMIWqq")
|
||||||
response = self.c.get('/rowers/workout/nkimport/')
|
response = self.c.get('/rowers/workout/nkimport/')
|
||||||
|
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|||||||
@@ -822,7 +822,7 @@ def workout_nkimport_view(request,userid=0):
|
|||||||
try:
|
try:
|
||||||
thetoken = nk_open(request.user)
|
thetoken = nk_open(request.user)
|
||||||
except NoTokenError:
|
except NoTokenError:
|
||||||
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
|
return HttpResponseRedirect("/rowers/me/nkauthorize/")
|
||||||
|
|
||||||
res = nkstuff.get_nk_workout_list(request.user)
|
res = nkstuff.get_nk_workout_list(request.user)
|
||||||
|
|
||||||
@@ -831,7 +831,7 @@ def workout_nkimport_view(request,userid=0):
|
|||||||
r = getrower(request.user)
|
r = getrower(request.user)
|
||||||
if (r.stravatoken == '') or (r.stravatoken is None):
|
if (r.stravatoken == '') or (r.stravatoken is None):
|
||||||
s = "Token doesn't exist. Need to authorize"
|
s = "Token doesn't exist. Need to authorize"
|
||||||
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
|
return HttpResponseRedirect("/rowers/me/nkauthorize/")
|
||||||
message = "Something went wrong in workout_nkimport_view"
|
message = "Something went wrong in workout_nkimport_view"
|
||||||
messages.error(request,message)
|
messages.error(request,message)
|
||||||
url = reverse('workouts_view')
|
url = reverse('workouts_view')
|
||||||
@@ -853,7 +853,7 @@ def workout_nkimport_view(request,userid=0):
|
|||||||
n = item['name']
|
n = item['name']
|
||||||
nnn = ''
|
nnn = ''
|
||||||
ttot = str(datetime.timedelta(seconds=int(float(item['elapsedTime'])/1000.)))
|
ttot = str(datetime.timedelta(seconds=int(float(item['elapsedTime'])/1000.)))
|
||||||
s = arrow.get(item['startTime'],tzinfo=r.defaulttimezone).format(arrow.FORMAT_W3C)
|
s = arrow.get(item['startTime'],tzinfo=r.defaulttimezone).format(arrow.FORMAT_RFC850)
|
||||||
#s = arrow.get(item['startTime']).to(r.defaulttimezone).isoformat()
|
#s = arrow.get(item['startTime']).to(r.defaulttimezone).isoformat()
|
||||||
keys = ['id','distance','duration','starttime','name','new']
|
keys = ['id','distance','duration','starttime','name','new']
|
||||||
values = [i,d,ttot,s,n,nnn]
|
values = [i,d,ttot,s,n,nnn]
|
||||||
@@ -862,8 +862,6 @@ def workout_nkimport_view(request,userid=0):
|
|||||||
|
|
||||||
workouts = workouts[::-1]
|
workouts = workouts[::-1]
|
||||||
|
|
||||||
print(workouts)
|
|
||||||
|
|
||||||
breadcrumbs = [
|
breadcrumbs = [
|
||||||
{
|
{
|
||||||
'url':'/rowers/list-workouts/',
|
'url':'/rowers/list-workouts/',
|
||||||
|
|||||||
Reference in New Issue
Block a user