Private
Public Access
1
0

blockers through the db

This commit is contained in:
2023-07-07 15:26:01 +02:00
parent dd811b254f
commit 993ab368c6
9 changed files with 142 additions and 66 deletions

View File

@@ -1,5 +1,7 @@
from .integrations import SyncIntegration, NoTokenError
from rowers.models import User, Rower, Workout, TombStone
from rowers.models import User, Rower, Workout, TombStone, SyncRecord
from django.db.utils import IntegrityError
from rowingdata import rowingdata
import numpy as np
import datetime
@@ -358,6 +360,16 @@ class C2Integration(SyncIntegration):
def get_workout(self, id, *args, **kwargs):
_ = self.open()
record = SyncRecord(
rower = self.rower,
c2id = id,
)
try:
record.save()
except IntegrityError:
return 0
_ = myqueue(queuehigh,
handle_c2_getworkout,
self.user.id,
@@ -413,21 +425,11 @@ class C2Integration(SyncIntegration):
workouts = []
c2ids = [item['id'] for item in res.json()['data']]
knownc2ids = uniqify([
w.uploadedtoc2 for w in Workout.objects.filter(user=self.rower)
])
tombstones = [
t.uploadedtoc2 for t in TombStone.objects.filter(user=self.rower)
]
parkedids = []
try:
with open('c2blocked.json', 'r') as c2blocked:
jsondata = json.load(c2blocked)
parkedids = jsondata['ids']
except: # pragma: no cover
pass
knownc2ids = uniqify(knownc2ids+tombstones+parkedids)
knownc2ids = uniqify([
record.c2id for record in SyncRecord.objects.filter(rower=r)
])
for item in res.json()['data']:
d = item['distance']
i = item['id']

View File

@@ -1,5 +1,6 @@
from .integrations import SyncIntegration, NoTokenError
from rowers.models import User, Rower, Workout, TombStone
from rowers.models import User, Rower, Workout, TombStone, SyncRecord
from django.db.utils import IntegrityError
from rowers import mytypes
from rowers.nkimportutils import *
@@ -88,6 +89,15 @@ class NKIntegration(SyncIntegration):
_ = self.open()
r = self.rower
record = SyncRecord(
rower = r,
nkid = id,
)
try:
record.save()
except IntegrityError:
return 0
before = kwargs.get('before',0)
after = kwargs.get('after',0)
if not before:
@@ -181,25 +191,8 @@ class NKIntegration(SyncIntegration):
# get NK IDs
nkids = [item['id'] for item in jsondata]
knownnkids = uniqify([
w.uploadedtonk for w in Workout.objects.filter(user=r)
record.nkid for record in SyncRecord.objects.filter(rower=r)
])
tombstones = [
t.uploadedtonk for t in TombStone.objects.filter(user=r)
]
parkedids = []
try:
with open('nkblocked.json', 'r') as nkblocked:
try:
jsondatal = json.load(nkblocked)
except:
jsondatal = {
'ids':[]
}
parkedids = jsondatal['ids']
except FileNotFoundError: # pragma: no cover
pass
knownnkids = uniqify(knownnkids+tombstones+parkedids)
workouts = []