def latest_races_web(request): race = Race.all().filter("hasResults =", True).order("-raceNumber").fetch(1) if len(race)>0: results = Results.all().filter("race =",race[0]).order("place") else: results = None return UA_direct(request,template="results/latest.html", extra_context={'results':results,'race':race[0] if len(race)>0 else None})
def cleardata(request): messages = [] memcache.delete("raceshtml") if request.method == 'POST': existing = Race.all() db.delete(existing) messages.append("All races deleted") results = Results.all() db.delete(results) messages.append("All results deleted") return render_to_response(request, 'results/delete.html', {'messages':messages});
def ajax(request): # races = Race.all().order('-roundNumber').fetch(1) # r = races.pop(0) # races = Race.gql("where roundNumber = :1", r.roundNumber) #Race.all().filter("roundNumber = :1", r.roundNumber) # raceslist = [] # for race in races: # raceslist.append(race.key()) # # leaders = Results.gql("where race IN :1 order by time", raceslist).fetch(5) leaders = Results.all().order("time").fetch(5) data = UA_object_list(request,Race.all().order("raceNumber"), template_name="list.html", extra_context={'leaders':leaders}) return data
def lif_upload(request): errmsg = [] if request.method == 'POST': errmsg += ['beginning import'] import re import os from bios.models import Country, Athlete, Crew file = request.FILES['csv'] uploadfile=file.name; file_contents = request.FILES['csv'].read().strip() p = re.compile('\r', re.IGNORECASE) file_contents = p.sub('\n',file_contents) #file_contents = self.request.get('lif').strip() import csv imported = [] importReader = csv.reader(file_contents.split('\n')) selectedRace = None for row in importReader: imported += [row] selectedRace = Race.all().filter("raceNumber =",int(imported[0][0])).fetch(1)[0] #print selectedRace errmsg += [selectedRace] imported.pop(0) for r in imported: if len(r) > 1: result = Results.all().filter("race =", selectedRace).filter("laneNumber =",r[2]).fetch(1) if len(result) < 1: errmsg += ["Did not work for %s" % (r)] else: result[0].place = r[0] result[0].finalTime = r[6] result[0].put() selectedRace.hasResults = True selectedRace.put() return direct_to_template(request, 'results/lif-upload.html', extra_context={"errmsg":errmsg})
def buildleaders(request): from datetime import time r = Results.all() for result in r: result.put()
def show_results(request, key): race = Race.get(key) return UA_object_list(request,queryset=Results.all().filter("race =", race).order("place"), extra_context={'race':race})
def show_result(request, key): return UA_object_list(request,Results.all(),key)
def show_races(request): leaders = Results.all().order("time").fetch(5) return UA_object_list(request,Race.all().order("raceNumber"), extra_context={'leaders':leaders})
def purge_results(request): list = Results.all().fetch(250) db.delete(list) return UA_direct(request,'race-upload.html')