updated scraoper
This commit is contained in:
@@ -4,6 +4,7 @@ import requests
|
|||||||
from boatmovers.models import *
|
from boatmovers.models import *
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
|
from django.db.utils import IntegrityError
|
||||||
|
|
||||||
url_heineken = ''
|
url_heineken = ''
|
||||||
|
|
||||||
@@ -115,11 +116,14 @@ def time_team_scraper(url,raceid,gender='m',startorder=1):
|
|||||||
try:
|
try:
|
||||||
first_name = str(df['naam'][i])
|
first_name = str(df['naam'][i])
|
||||||
last_name = ''
|
last_name = ''
|
||||||
|
full_name = first_name
|
||||||
dummy=False
|
dummy=False
|
||||||
except TypeError:
|
except TypeError:
|
||||||
first_name = 'Unknown'
|
first_name = 'Unknown'
|
||||||
last_name = 'Athlete'
|
last_name = 'Athlete'
|
||||||
|
full_name = 'Unknown Athlete'
|
||||||
dummy=True
|
dummy=True
|
||||||
|
print(full_name)
|
||||||
athletes = Athlete.objects.filter(full_name=full_name)
|
athletes = Athlete.objects.filter(full_name=full_name)
|
||||||
if len(athletes) >= 1:
|
if len(athletes) >= 1:
|
||||||
athlete = athletes[0]
|
athlete = athletes[0]
|
||||||
@@ -131,11 +135,15 @@ def time_team_scraper(url,raceid,gender='m',startorder=1):
|
|||||||
dummy=dummy)
|
dummy=dummy)
|
||||||
try:
|
try:
|
||||||
athlete.save()
|
athlete.save()
|
||||||
|
except IntegrityError:
|
||||||
|
athletes = Athlete.objects.filter(full_name__icontains=full_name)
|
||||||
|
if len(athletes) >= 1:
|
||||||
|
athlete = athletes[0]
|
||||||
except ValidationError as e:
|
except ValidationError as e:
|
||||||
text, id = e.message.split(':')
|
text, id = e.message.split(':')
|
||||||
athlete = Athlete.objects.get(id=id)
|
athlete = Athlete.objects.get(id=id)
|
||||||
|
|
||||||
print(athlete)
|
#print(athlete)
|
||||||
|
|
||||||
crew.athletes.add(athlete)
|
crew.athletes.add(athlete)
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ importsources = {
|
|||||||
'nk': NKIntegration,
|
'nk': NKIntegration,
|
||||||
'tp':TPIntegration,
|
'tp':TPIntegration,
|
||||||
'rp3':RP3Integration,
|
'rp3':RP3Integration,
|
||||||
'polar': PolarIntegration
|
'polar': PolarIntegration,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -269,7 +269,7 @@ class NKIntegration(SyncIntegration):
|
|||||||
|
|
||||||
def open(self, *args, **kwargs) -> str:
|
def open(self, *args, **kwargs) -> str:
|
||||||
r = self.rower
|
r = self.rower
|
||||||
if (r.nktoken == '') or (r.nktoken is None): # pragma: no cover
|
if not r.nktoken: # pragma: no cover
|
||||||
raise NoTokenError("User has no token")
|
raise NoTokenError("User has no token")
|
||||||
else:
|
else:
|
||||||
if (timezone.now() > r.nktokenexpirydate):
|
if (timezone.now() > r.nktokenexpirydate):
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
@@ -361,7 +361,12 @@ def workout_import_view(request, source='c2'):
|
|||||||
enddate = enddate.date()
|
enddate = enddate.date()
|
||||||
|
|
||||||
r = getrequestrower(request)
|
r = getrequestrower(request)
|
||||||
integration = importsources[source](request.user)
|
try:
|
||||||
|
integration = importsources[source](request.user)
|
||||||
|
except KeyError:
|
||||||
|
messages.error(request,"This integration is not supported")
|
||||||
|
url = reverse('workouts_view')
|
||||||
|
return HttpResponseRedirect(url)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
_ = integration.open()
|
_ = integration.open()
|
||||||
|
|||||||
Reference in New Issue
Block a user