Private
Public Access
1
0

c2 to async

This commit is contained in:
Sander Roosendaal
2020-03-09 22:11:35 +01:00
parent cd43218e84
commit 050db5b560
6 changed files with 72 additions and 23 deletions

View File

@@ -25,7 +25,7 @@ from rowsandall_app.settings import (
C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET
)
from rowers.tasks import handle_c2_import_stroke_data
from rowers.tasks import handle_c2_import_stroke_data, handle_c2_sync
import django_rq
queue = django_rq.get_queue('default')
queuelow = django_rq.get_queue('low')
@@ -859,7 +859,7 @@ def default(o):
raise TypeError
# Uploading workout
def workout_c2_upload(user,w):
def workout_c2_upload(user,w,async=False):
message = 'trying C2 upload'
try:
if mytypes.c2mapping[w.workouttype] is None:
@@ -888,25 +888,34 @@ def workout_c2_upload(user,w):
'Content-Type': 'application/json'}
import urllib
url = "https://log.concept2.com/api/users/%s/results" % (c2userid)
response = requests.post(url,headers=headers,data=json.dumps(data,default=default))
if not async:
response = requests.post(url,headers=headers,data=json.dumps(data,default=default))
if (response.status_code == 409 ):
message = "Concept2 Duplicate error"
w.uploadedtoc2 = -1
c2id = -1
w.save()
elif (response.status_code == 201 or response.status_code == 200):
# s= json.loads(response.text)
s = response.json()
c2id = s['data']['id']
w.uploadedtoc2 = c2id
w.save()
message = "Upload to Concept2 was successful"
if (response.status_code == 409 ):
message = "Concept2 Duplicate error"
w.uploadedtoc2 = -1
c2id = -1
w.save()
elif (response.status_code == 201 or response.status_code == 200):
# s= json.loads(response.text)
s = response.json()
c2id = s['data']['id']
w.uploadedtoc2 = c2id
w.save()
message = "Upload to Concept2 was successful"
else:
message = "Something went wrong in workout_c2_upload_view. Response code 200/201 but C2 sync failed: "+response.text
c2id = 0
else:
message = "Something went wrong in workout_c2_upload_view. Response code 200/201 but C2 sync failed: "+response.text
job = myqueue(queue,
handle_c2_sync,
w.id,
url,
headers,
json.dumps(data,default=default))
c2id = 0
return message,c2id
# This is token refresh. Looks for tokens in our database, then refreshes