first attempt to read csv - needs improvement
This commit is contained in:
@@ -8,6 +8,8 @@ import datetime
|
||||
from django.utils import timezone
|
||||
import trueskill
|
||||
|
||||
from rowers.utils import dologging
|
||||
|
||||
def current_day(ttz=None):
|
||||
if ttz is None:
|
||||
return (datetime.datetime.now(tz=timezone.utc)).date()
|
||||
@@ -169,6 +171,16 @@ class Race(models.Model):
|
||||
athlete.trueskill_mu = rating.mu
|
||||
athlete.trueskill_sigma = rating.sigma
|
||||
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.save()
|
||||
|
||||
@@ -6,6 +6,57 @@ import pandas as pd
|
||||
|
||||
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):
|
||||
race = Race.objects.get(id=raceid)
|
||||
nr = race.crew_size
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
<style>
|
||||
.row {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.column {
|
||||
flex: 50%;
|
||||
border-width: 10px;
|
||||
padding: 10px;
|
||||
margin: 10px;
|
||||
}
|
||||
</style>
|
||||
<h1>
|
||||
Boat Movers Ranking
|
||||
</h1>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
@@ -25,6 +39,8 @@
|
||||
{% endfor %}
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
<div class="column">
|
||||
<p>
|
||||
This page is an experimental ranking based on public race results,
|
||||
mainly from Dutch Masters
|
||||
@@ -91,3 +107,4 @@
|
||||
<a href="result/add/">Add Result</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user