diff --git a/boatmovers/forms.py b/boatmovers/forms.py
index ca5efb59..898d5f23 100644
--- a/boatmovers/forms.py
+++ b/boatmovers/forms.py
@@ -3,3 +3,7 @@ from django import forms
class CsvForm(forms.Form):
file = forms.FileField(label='CSV File')
# comment = forms.CharField(required=False)
+
+class TimeTeamForm(forms.Form):
+ resulturl = forms.URLField()
+ startorder = forms.IntegerField(initial=1,label='First result to process')
diff --git a/boatmovers/tasks.py b/boatmovers/tasks.py
index d45d7d4d..bd95f6e2 100644
--- a/boatmovers/tasks.py
+++ b/boatmovers/tasks.py
@@ -12,6 +12,7 @@ from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
from boatmovers.models import Race
+from boatmovers.scrapers import time_team_scraper
from rq import get_current_job
from django_rq import job
@@ -21,3 +22,8 @@ def race_process(id):
race = Race.objects.get(id=id)
return race.process()
+
+@job
+def handle_timeteam(url,raceid,gender,startorder):
+ time_team_scraper(url,raceid,gender=gender,startorder=startorder)
+ return 1
diff --git a/boatmovers/templates/csvform.html b/boatmovers/templates/csvform.html
index 483c4a0e..882c4d59 100644
--- a/boatmovers/templates/csvform.html
+++ b/boatmovers/templates/csvform.html
@@ -2,7 +2,7 @@
{% block main %}
- {{ race.name }}
+ {{ race.name }}
+
+{% endblock %}
diff --git a/boatmovers/urls.py b/boatmovers/urls.py
index 45590356..271d5bea 100644
--- a/boatmovers/urls.py
+++ b/boatmovers/urls.py
@@ -14,6 +14,7 @@ urlpatterns = [
url(r'result/add/$',views.ResultCreateView.as_view(),name='result_add'),
url(r'race/(?P\d+)/$',views.race_view,name='race_view'),
url(r'race/(?P\d+)/csv/$',views.race_add_csv,name='race_add_csv'),
+ url(r'race/(?P\d+)/timeteam/$',views.race_handle_timeteam,name='race_handle_timeteam'),
url(r'race/(?P\d+)/verify/$',views.race_verify,name='race_verify'),
url(r'race/(?P\d+)/process/$',views.race_process,name='race_process'),
url(r'race/(?P\d+)/deleteresults/$',views.race_delete_results,
diff --git a/boatmovers/views.py b/boatmovers/views.py
index 06aeb984..4235c6d8 100644
--- a/boatmovers/views.py
+++ b/boatmovers/views.py
@@ -10,7 +10,7 @@ import collections
from django.views.generic.edit import CreateView
from boatmovers.models import Athlete, Crew, Race, Result
import boatmovers.tasks as tasks
-from boatmovers.forms import CsvForm
+from boatmovers.forms import CsvForm, TimeTeamForm
from boatmovers.scrapers import *
#from rowers.rows import handle_uploaded_file
import django_rq
@@ -138,6 +138,39 @@ def race_verify(request, id=0):
return HttpResponseRedirect(reverse('race_view',kwargs={'id':race.id}))
+def race_handle_timeteam(request,id=0):
+ race = get_object_or_404(Race, pk=id)
+ if race.verified or race.processed:
+ messages.error(request,"Cannot upload CSV file for processed or verified race")
+ url = reverse("race_view",kwargs={'id':id})
+ return HttpResponseRedirect(url)
+
+ form = TimeTeamForm(initial={'resulturl':race.resulturl})
+ if request.method == 'POST':
+ form = TimeTeamForm(request.POST)
+
+ if form.is_valid():
+ startorder = form.cleaned_data['startorder']
+ url = form.cleaned_data['resulturl']
+ race.resulturl = url
+ race.save()
+ job = queue.enqueue(
+ tasks.handle_timeteam,
+ url,race.id,race.gender,startorder)
+
+ messages.info(request,'URL has been submitted for processing')
+ url = reverse('race_view',kwargs={'id':race.id})
+
+ return HttpResponseRedirect(url)
+
+ return render(request,
+ 'timeteamform.html',
+ {
+ 'race':race,
+ 'form':form,
+ })
+
+
def handle_uploaded_file(f):
with open('media/results.csv', 'wb+') as destination:
for chunk in f.chunks():
diff --git a/ratings.csv b/ratings.csv
index 24a6a473..62a36aa3 100644
--- a/ratings.csv
+++ b/ratings.csv
@@ -1086,4 +1086,36 @@ Jul-01-2022 14:22:48 3479,Annemarie,Palmers,22.366324437937013,7.475681072993052
Jul-01-2022 14:22:48 3223,Suzanne,Heijbrock,16.178798978402458,6.178607878151747,35,Spaarne lenterace DM 4x A-C
Jul-01-2022 14:22:48 3477,Nora,Bijl,22.372308827834612,7.4775220578913855,35,Spaarne lenterace DM 4x A-C
Jul-01-2022 14:22:48 3478,Agnes van,Uitert,22.372308827834612,7.4775220578913855,35,Spaarne lenterace DM 4x A-C
-Jul-01-2022 14:22:48 3479,Annemarie,Palmers,22.372308827834612,7.4775220578913855,35,Spaarne lenterace DM 4x A-C
\ No newline at end of file
+Jul-01-2022 14:22:48 3479,Annemarie,Palmers,22.372308827834612,7.4775220578913855,35,Spaarne lenterace DM 4x A-C
+Jul-05-2022 05:14:01 3297,Rianne,Beerkens,39.683129158860076,3.6687669903231614,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3416,Antoinette,Klawer,29.488311189552455,3.960745830587814,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3297,Rianne,Beerkens,39.685737183180706,3.668117133581208,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3416,Antoinette,Klawer,29.491457998226885,3.959869460042804,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 2355,Rianne,Dekker,30.877436383054206,5.823340176699139,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3007,Bregtje,Hermans,29.210813336320097,6.106004998487721,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 2355,Rianne,Dekker,30.888225082523256,5.823084969830709,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3007,Bregtje,Hermans,29.223544520296336,6.105666069044869,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3113,Jessie,Heemskerk,23.95621767688493,6.066815109327828,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3415,Noreen van der,Linden,30.19266872429093,4.095226934097734,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3113,Jessie,Heemskerk,23.97403265715589,6.068374032249687,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3415,Noreen van der,Linden,30.198146631949335,4.0954453128434976,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3480,Annabelle,Agez,22.484539513691725,7.013609312308439,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3481,Melanie,Thiele,22.484539513691725,7.013609312308439,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3480,Annabelle,Agez,22.48982850911875,7.015520745756935,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:14:01 3481,Melanie,Thiele,22.48982850911875,7.015520745756935,36,Dutch Masters Open W 2x A-C
+Jul-05-2022 05:15:49 3016,Lieke,Droog,32.24166523081364,3.505698273693523,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:49 3298,Corien,Prins,35.76732762310348,3.6279761527108816,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:49 3016,Lieke,Droog,32.243812453282096,3.5051470509618974,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:49 3298,Corien,Prins,35.76965795677901,3.6273487841177503,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:49 3414,Lenny,Voorhaar,32.580439890221854,4.154125087591538,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:49 3482,Mira van der,Mije,25.863223971520657,6.28566928839552,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3414,Lenny,Voorhaar,32.584258663284395,4.154108164871136,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3482,Mira van der,Mije,25.876717853791124,6.285529642461962,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3461,Anna,Zanstra,24.85100401801386,6.266923834224782,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3464,Joanne,Preuter,24.85100401801386,6.266923834224782,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3461,Anna,Zanstra,24.863237890103925,6.2673553273389535,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3464,Joanne,Preuter,24.863237890103925,6.2673553273389535,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3483,Nina,Samel,21.626493095034196,6.984446620462897,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3484,Karin,Russig,21.626493095034196,6.984446620462897,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3483,Nina,Samel,21.633584272648232,6.986487626428133,37,Dutch Masters Open W 2x B
+Jul-05-2022 05:15:50 3484,Karin,Russig,21.633584272648232,6.986487626428133,37,Dutch Masters Open W 2x B
\ No newline at end of file