better check for duplicate athletes
This commit is contained in:
@@ -33,6 +33,11 @@ class Athlete(models.Model):
|
|||||||
return u'{f} {l}'.format(f = self.first_name, l=self.last_name)
|
return u'{f} {l}'.format(f = self.first_name, l=self.last_name)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
|
name = '{f} {l}'.format(f = self.first_name, l = self.last_name)
|
||||||
|
for a in Athlete.objects.filter(gender=self.gender):
|
||||||
|
aname = '{f} {l}'.format(f = a.first_name, l = a.last_name)
|
||||||
|
if name == aname:
|
||||||
|
raise ValidationError("Duplicate:{id}".format(id=a.id))
|
||||||
rating = trueskill.Rating(self.trueskill_mu, self.trueskill_sigma)
|
rating = trueskill.Rating(self.trueskill_mu, self.trueskill_sigma)
|
||||||
self.trueskill_exposed = trueskill.expose(rating)
|
self.trueskill_exposed = trueskill.expose(rating)
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ from bs4 import BeautifulSoup
|
|||||||
import requests
|
import requests
|
||||||
from boatmovers.models import *
|
from boatmovers.models import *
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
|
|
||||||
url_heineken = ''
|
url_heineken = ''
|
||||||
|
|
||||||
|
|
||||||
def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos'):
|
def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos',gender='m'):
|
||||||
race = Race.objects.get(id=raceid)
|
race = Race.objects.get(id=raceid)
|
||||||
nr = race.crew_size
|
nr = race.crew_size
|
||||||
|
|
||||||
@@ -33,14 +34,21 @@ def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos'):
|
|||||||
first_name = 'Unknown'
|
first_name = 'Unknown'
|
||||||
last_name = 'Athlete'
|
last_name = 'Athlete'
|
||||||
athletes = Athlete.objects.filter(first_name = first_name,
|
athletes = Athlete.objects.filter(first_name = first_name,
|
||||||
last_name = last_name)
|
last_name = last_name,
|
||||||
|
gender=gender)
|
||||||
if len(athletes) >= 1:
|
if len(athletes) >= 1:
|
||||||
athlete = athletes[0]
|
athlete = athletes[0]
|
||||||
else:
|
else:
|
||||||
athlete = Athlete(first_name=first_name,
|
athlete = Athlete(first_name=first_name,
|
||||||
last_name=last_name,
|
last_name=last_name,
|
||||||
club = crewname)
|
club = crewname,
|
||||||
athlete.save()
|
gender=gender)
|
||||||
|
try:
|
||||||
|
athlete.save()
|
||||||
|
except ValidationError as e:
|
||||||
|
text, id = e.message.split(':')
|
||||||
|
athlete = Athlete.objects.get(id=id)
|
||||||
|
|
||||||
print(athlete)
|
print(athlete)
|
||||||
|
|
||||||
crew.athletes.add(athlete)
|
crew.athletes.add(athlete)
|
||||||
@@ -56,7 +64,7 @@ def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos'):
|
|||||||
print(e)
|
print(e)
|
||||||
|
|
||||||
|
|
||||||
def time_team_scraper(url,raceid):
|
def time_team_scraper(url,raceid,gender='m'):
|
||||||
race = Race.objects.get(id=raceid)
|
race = Race.objects.get(id=raceid)
|
||||||
nr = race.crew_size
|
nr = race.crew_size
|
||||||
r = requests.get(url)
|
r = requests.get(url)
|
||||||
@@ -105,8 +113,14 @@ def time_team_scraper(url,raceid):
|
|||||||
else:
|
else:
|
||||||
athlete = Athlete(first_name=first_name,
|
athlete = Athlete(first_name=first_name,
|
||||||
last_name=last_name,
|
last_name=last_name,
|
||||||
club = name)
|
club = name,
|
||||||
athlete.save()
|
gender=gender)
|
||||||
|
try:
|
||||||
|
athlete.save()
|
||||||
|
except ValidationError as e:
|
||||||
|
text, id = e.message.split(':')
|
||||||
|
athlete = Athlete.objects.get(id=id)
|
||||||
|
|
||||||
print(athlete)
|
print(athlete)
|
||||||
|
|
||||||
crew.athletes.add(athlete)
|
crew.athletes.add(athlete)
|
||||||
|
|||||||
Reference in New Issue
Block a user