first attempt to read csv - needs improvement
This commit is contained in:
@@ -8,6 +8,8 @@ import datetime
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
import trueskill
|
import trueskill
|
||||||
|
|
||||||
|
from rowers.utils import dologging
|
||||||
|
|
||||||
def current_day(ttz=None):
|
def current_day(ttz=None):
|
||||||
if ttz is None:
|
if ttz is None:
|
||||||
return (datetime.datetime.now(tz=timezone.utc)).date()
|
return (datetime.datetime.now(tz=timezone.utc)).date()
|
||||||
@@ -169,6 +171,16 @@ class Race(models.Model):
|
|||||||
athlete.trueskill_mu = rating.mu
|
athlete.trueskill_mu = rating.mu
|
||||||
athlete.trueskill_sigma = rating.sigma
|
athlete.trueskill_sigma = rating.sigma
|
||||||
athlete.save()
|
athlete.save()
|
||||||
|
u = 'Rating athlete {id} {f} {l} mu = {mu} sigma = {sigma} race {rid} {rname}'.format(
|
||||||
|
id = id,
|
||||||
|
f = athlete.first_name,
|
||||||
|
l = athlete.last_name,
|
||||||
|
mu = rating.mu,
|
||||||
|
sigma = rating.sigma,
|
||||||
|
rid = self.id,
|
||||||
|
rname = self.name,
|
||||||
|
)
|
||||||
|
dologging('ratings.log',u)
|
||||||
|
|
||||||
self.processed = True
|
self.processed = True
|
||||||
self.save()
|
self.save()
|
||||||
|
|||||||
@@ -6,6 +6,57 @@ import pandas as pd
|
|||||||
|
|
||||||
url_heineken = ''
|
url_heineken = ''
|
||||||
|
|
||||||
|
|
||||||
|
def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos'):
|
||||||
|
race = Race.objects.get(id=raceid)
|
||||||
|
nr = race.crew_size
|
||||||
|
|
||||||
|
df = pd.read_csv(filename)
|
||||||
|
# replace column names if different
|
||||||
|
|
||||||
|
for row in df.itertuples():
|
||||||
|
order = row.Pos
|
||||||
|
crewname = row.Ploeg
|
||||||
|
crew = Crew(name=crewname)
|
||||||
|
crew.save()
|
||||||
|
|
||||||
|
for i in range(nr):
|
||||||
|
# need to improve for multiple rowers
|
||||||
|
try:
|
||||||
|
naam = row.Slag.split(' ')
|
||||||
|
first_name = ' '.join(naam[:-1])
|
||||||
|
last_name = naam[-1]
|
||||||
|
except AttributeError:
|
||||||
|
try:
|
||||||
|
first_name = str(row.Slag)
|
||||||
|
last_name = ''
|
||||||
|
except TypeError:
|
||||||
|
first_name = 'Unknown'
|
||||||
|
last_name = 'Athlete'
|
||||||
|
athletes = Athlete.objects.filter(first_name = first_name,
|
||||||
|
last_name = last_name)
|
||||||
|
if len(athletes) >= 1:
|
||||||
|
athlete = athletes[0]
|
||||||
|
else:
|
||||||
|
athlete = Athlete(first_name=first_name,
|
||||||
|
last_name=last_name,
|
||||||
|
club = crewname)
|
||||||
|
athlete.save()
|
||||||
|
print(athlete)
|
||||||
|
|
||||||
|
crew.athletes.add(athlete)
|
||||||
|
|
||||||
|
result = Result(
|
||||||
|
crew = crew,
|
||||||
|
race = race,
|
||||||
|
order = order
|
||||||
|
)
|
||||||
|
try:
|
||||||
|
result.save()
|
||||||
|
except ValidationError as e:
|
||||||
|
print(e)
|
||||||
|
|
||||||
|
|
||||||
def time_team_scraper(url,raceid):
|
def time_team_scraper(url,raceid):
|
||||||
race = Race.objects.get(id=raceid)
|
race = Race.objects.get(id=raceid)
|
||||||
nr = race.crew_size
|
nr = race.crew_size
|
||||||
|
|||||||
@@ -1,6 +1,20 @@
|
|||||||
|
<style>
|
||||||
|
.row {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column {
|
||||||
|
flex: 50%;
|
||||||
|
border-width: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<h1>
|
<h1>
|
||||||
Boat Movers Ranking
|
Boat Movers Ranking
|
||||||
</h1>
|
</h1>
|
||||||
|
<div class="row">
|
||||||
|
<div class="column">
|
||||||
<p>
|
<p>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -25,6 +39,8 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
<p>
|
<p>
|
||||||
This page is an experimental ranking based on public race results,
|
This page is an experimental ranking based on public race results,
|
||||||
mainly from Dutch Masters
|
mainly from Dutch Masters
|
||||||
@@ -91,3 +107,4 @@
|
|||||||
<a href="result/add/">Add Result</a>
|
<a href="result/add/">Add Result</a>
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user