adding time team import
This commit is contained in:
@@ -3,3 +3,7 @@ from django import forms
|
|||||||
class CsvForm(forms.Form):
|
class CsvForm(forms.Form):
|
||||||
file = forms.FileField(label='CSV File')
|
file = forms.FileField(label='CSV File')
|
||||||
# comment = forms.CharField(required=False)
|
# comment = forms.CharField(required=False)
|
||||||
|
|
||||||
|
class TimeTeamForm(forms.Form):
|
||||||
|
resulturl = forms.URLField()
|
||||||
|
startorder = forms.IntegerField(initial=1,label='First result to process')
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ from django.core.wsgi import get_wsgi_application
|
|||||||
application = get_wsgi_application()
|
application = get_wsgi_application()
|
||||||
|
|
||||||
from boatmovers.models import Race
|
from boatmovers.models import Race
|
||||||
|
from boatmovers.scrapers import time_team_scraper
|
||||||
from rq import get_current_job
|
from rq import get_current_job
|
||||||
from django_rq import job
|
from django_rq import job
|
||||||
|
|
||||||
@@ -21,3 +22,8 @@ def race_process(id):
|
|||||||
|
|
||||||
race = Race.objects.get(id=id)
|
race = Race.objects.get(id=id)
|
||||||
return race.process()
|
return race.process()
|
||||||
|
|
||||||
|
@job
|
||||||
|
def handle_timeteam(url,raceid,gender,startorder):
|
||||||
|
time_team_scraper(url,raceid,gender=gender,startorder=startorder)
|
||||||
|
return 1
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{% block main %}
|
{% block main %}
|
||||||
<h1>
|
<h1>
|
||||||
{{ race.name }}
|
{{ race.name }}
|
||||||
</h1>
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
<form method="post" enctype="multipart/form-data">{% csrf_token %}
|
<form method="post" enctype="multipart/form-data">{% csrf_token %}
|
||||||
|
|||||||
@@ -58,6 +58,9 @@
|
|||||||
<p>
|
<p>
|
||||||
<a href="/boatmovers/race/{{ race.id }}/csv/">Add Result CSV</a>
|
<a href="/boatmovers/race/{{ race.id }}/csv/">Add Result CSV</a>
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="/boatmovers/race/{{ race.id }}/timeteam/">Add Result from Time Team</a>
|
||||||
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
14
boatmovers/templates/timeteamform.html
Normal file
14
boatmovers/templates/timeteamform.html
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{% extends "boatmovers_base.html" %}
|
||||||
|
|
||||||
|
{% block main %}
|
||||||
|
<h1>
|
||||||
|
{{ race.name }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
<form method="post">{% csrf_token %}
|
||||||
|
{{ form.as_p }}
|
||||||
|
<input type="hidden" name="action" value="create" />
|
||||||
|
<input type="submit" value="Submit"/>
|
||||||
|
</form>
|
||||||
|
</p>
|
||||||
|
{% endblock %}
|
||||||
@@ -14,6 +14,7 @@ urlpatterns = [
|
|||||||
url(r'result/add/$',views.ResultCreateView.as_view(),name='result_add'),
|
url(r'result/add/$',views.ResultCreateView.as_view(),name='result_add'),
|
||||||
url(r'race/(?P<id>\d+)/$',views.race_view,name='race_view'),
|
url(r'race/(?P<id>\d+)/$',views.race_view,name='race_view'),
|
||||||
url(r'race/(?P<id>\d+)/csv/$',views.race_add_csv,name='race_add_csv'),
|
url(r'race/(?P<id>\d+)/csv/$',views.race_add_csv,name='race_add_csv'),
|
||||||
|
url(r'race/(?P<id>\d+)/timeteam/$',views.race_handle_timeteam,name='race_handle_timeteam'),
|
||||||
url(r'race/(?P<id>\d+)/verify/$',views.race_verify,name='race_verify'),
|
url(r'race/(?P<id>\d+)/verify/$',views.race_verify,name='race_verify'),
|
||||||
url(r'race/(?P<id>\d+)/process/$',views.race_process,name='race_process'),
|
url(r'race/(?P<id>\d+)/process/$',views.race_process,name='race_process'),
|
||||||
url(r'race/(?P<id>\d+)/deleteresults/$',views.race_delete_results,
|
url(r'race/(?P<id>\d+)/deleteresults/$',views.race_delete_results,
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import collections
|
|||||||
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 boatmovers.tasks as tasks
|
||||||
from boatmovers.forms import CsvForm
|
from boatmovers.forms import CsvForm, TimeTeamForm
|
||||||
from boatmovers.scrapers import *
|
from boatmovers.scrapers import *
|
||||||
#from rowers.rows import handle_uploaded_file
|
#from rowers.rows import handle_uploaded_file
|
||||||
import django_rq
|
import django_rq
|
||||||
@@ -138,6 +138,39 @@ def race_verify(request, id=0):
|
|||||||
|
|
||||||
return HttpResponseRedirect(reverse('race_view',kwargs={'id':race.id}))
|
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):
|
def handle_uploaded_file(f):
|
||||||
with open('media/results.csv', 'wb+') as destination:
|
with open('media/results.csv', 'wb+') as destination:
|
||||||
for chunk in f.chunks():
|
for chunk in f.chunks():
|
||||||
|
|||||||
34
ratings.csv
34
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 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 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 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
|
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
|
||||||
|
Reference in New Issue
Block a user