Private
Public Access
1
0

adding link to Home, delayed tasks working

This commit is contained in:
Sander Roosendaal
2022-06-29 16:17:37 +02:00
parent 22f3708120
commit a47ae2bc5b
10 changed files with 87 additions and 8 deletions

View File

@@ -15,18 +15,14 @@ def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos'):
# replace column names if different # replace column names if different
for row in df.itertuples(): for row in df.itertuples():
order = row.Pos order = row[df.columns.get_loc(uitslag)+1]
crewname = row.Ploeg crewname = row[df.columns.get_loc(clubcol)+1]
crew = Crew(name=crewname) crew = Crew(name=crewname)
crew.save() crew.save()
for i in range(nr): for i in range(nr):
# need to improve for multiple rowers
try: try:
print(row) naam = row[df.columns.get_loc(bankjes[i])+1].split(' ')
naam = row[df.columns.get_loc('Slag')+1].split(' ')
#print(naam)
#naam = row.Slag.split(' ')
first_name = ' '.join(naam[:-1]) first_name = ' '.join(naam[:-1])
last_name = naam[-1] last_name = naam[-1]
except AttributeError: except AttributeError:

23
boatmovers/tasks.py Normal file
View File

@@ -0,0 +1,23 @@
import os
os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"
from YamJam import yamjam
CFG = yamjam()['rowsandallapp']
try:
os.environ.setdefault("DJANGO_SETTINGS_MODULE",CFG['settings_name'])
except KeyError:
os.environ.setdefault("DJANGO_SETTINGS_MODULE","rowsandall_app.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
from boatmovers.models import Race
from rq import get_current_job
from django_rq import job
@job
def race_process(id):
job = get_current_job()
race = Race.objects.get(id=id)
return race.process()

View File

@@ -1,3 +1,5 @@
{% extends "boatmovers_base.html" %}
{% block main %}
<style> <style>
.row { .row {
display: flex; display: flex;
@@ -10,6 +12,8 @@
margin: 10px; margin: 10px;
} }
</style> </style>
<h1> <h1>
Boat Movers Ranking Boat Movers Ranking
</h1> </h1>
@@ -108,3 +112,4 @@
</p> </p>
{% endif %} {% endif %}
</div> </div>
{% endblock %}

View File

@@ -1,4 +1,7 @@
{% extends "boatmovers_base.html" %}
{% block main %}
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
{{ form.as_p }} {{ form.as_p }}
<input type="submit" value="Create" /> <input type="submit" value="Create" />
</form> </form>
{% endblock %}

View File

@@ -1,4 +1,7 @@
{% extends "boatmovers_base.html" %}
{% block main %}
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
{{ form.as_p }} {{ form.as_p }}
<input type="submit" value="Create" /> <input type="submit" value="Create" />
</form> </form>
{% endblock %}

View File

@@ -1,4 +1,7 @@
{% extends "boatmovers_base.html" %}
{% block main %}
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
{{ form.as_p }} {{ form.as_p }}
<input type="submit" value="Create" /> <input type="submit" value="Create" />
</form> </form>
{% endblock %}

View File

@@ -0,0 +1,33 @@
{% load leaflet_tags %}
{% load cookielaw_tags %}
{% block filters %}
{% endblock %}
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}Rowsandall Boatmovers{% endblock %}</title>
</head>
<body>
<div>
<a href="/boatmovers/">Ranking</a>
</div>
{% if WARNING_MESSAGE != '' %}
{{ WARNING_MESSAGE }}
{% endif %}
{% if messages %}
{% for message in messages %}
<p>
{{ message|safe }}
</p>
{% endfor %}
{% endif %}
{% block main %}
{% endblock %}
</body>
</html>
{% block scripts %} {% endblock %}

View File

@@ -1,3 +1,5 @@
{% extends "boatmovers_base.html" %}
{% block main %}
<h1> <h1>
{{ crew.name }} {{ crew.name }}
</h1> </h1>
@@ -17,3 +19,4 @@
{% endfor %} {% endfor %}
</table> </table>
</p> </p>
{% endblock %}

View File

@@ -1,3 +1,6 @@
{% extends "boatmovers_base.html" %}
{% block main %}
<h1> <h1>
{{ race.name }} {{ race.name }}
</h1> </h1>
@@ -48,3 +51,4 @@
</p> </p>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endblock %}

View File

@@ -2,12 +2,16 @@ from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.urls import reverse from django.urls import reverse
from django.contrib import messages
import collections import collections
# Create your views here. # Create your views here.
from django.views.generic.edit import CreateView from django.views.generic.edit import CreateView
from boatmovers.models import Athlete, Crew, Race, Result from boatmovers.models import Athlete, Crew, Race, Result
import boatmovers.tasks as tasks
import django_rq
queue = django_rq.get_queue('high')
class AthleteCreateView(CreateView): class AthleteCreateView(CreateView):
model = Athlete model = Athlete
@@ -106,7 +110,9 @@ def race_verify(request, id=0):
def race_process(request, id=0): def race_process(request, id=0):
race = get_object_or_404(Race, pk=id) race = get_object_or_404(Race, pk=id)
outcome = race.process() job = queue.enqueue(tasks.race_process,race.id)
#outcome = race.process()
messages.info(request,"Your race is being processed. Reload to get the new status.")
return HttpResponseRedirect(reverse('race_view',kwargs={'id':race.id})) return HttpResponseRedirect(reverse('race_view',kwargs={'id':race.id}))