Пример #1
0
#! /usr/bin/python3

# import cgitb
# cgitb.enable()

import new_sql_model
import yate
import cgi

form_data = cgi.FieldStorage()
athlete_id = form_data["which_athlete"].value

athlete = new_sql_model.get_athlete_from_id(athlete_id)

print(yate.start_response())
print(yate.include_header("NUAC's Timing Data"))
print(yate.header("Athlete: " + athlete["Name"] + " DOB: " + athlete["DOB"]))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athlete["top3"]))
print(yate.para("The entire set of timing data is: " + str(athlete["data"]) + " (duplicates removed). "))


print(yate.include_footer({"Home": "/index.html", "Select another athlete": "generate_list.py"}))
#! /usr/local/bin/python3

import cgitb
cgitb.enable()

import athletelist_model  #to get data from model py
import yate  #to html texts
import cgi

athletes = athletelist_model.get_from_store()   #get data from pickled format

#get form data
form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value

#print html page
print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(yate.header("Athlete: " + athlete_name + ", DOB: " +athletes[athlete_name].dob + "."))
	
print(yate.para("The top times for this athlete are:"))

print(yate.u_list(athletes[athlete_name].top3()))

print(yate.include_footer({"Home": "/index.html","Select another athlete": "athletelist_generate_list.py"}))
Пример #3
0
import cgi
import cgitb

import athletemodel
import yate

cgitb.enable()
plays = athletemodel.get_from_store()
form_data = cgi.FieldStorage()
name = form_data['which_player'].value
print(yate.start_response())
print(yate.include_header("Coack Kelly's timing data"))
print(yate.header("player name:" + name + ",birthday:" + plays[name].dob))
print(yate.para("top times"))
print(yate.u_list(plays[name].top3))
print(
    yate.include_footer({
        "Click here to go Home":
        "/index.html",
        "Click here to select another player":
        "generate_list.py"
    }))
Пример #4
0
# -*- coding:utf-8 -*-
import cgi
import yate
import athletemodel
#import cgitb

#cgitb.enable()

ale=athletemodel.get_from_store()
form_data=cgi.FieldStorage()
atlete_name=form_data["which_athlete"].value
print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(yate.header("Athlete:"+ale[atlete_name].name+",DOB:"+ale[atlete_name].dob+"."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(ale[atlete_name].top3))
print(yate.include_footer({"Home":"/index.html","Select another one":"generate_list.py"}))
Пример #5
0
#! /usr/local/bin/python3

import cgi
import athletemodel
import yate

form_data = cgi.FieldStorage()
athlete_id = form_data['which_athlete'].value
athlete = athletemodel.get_athlete_from_id(athlete_id)

print((yate.start_response()))
print((yate.include_header("NUAC's Timing Data")))    
print((yate.header("Athlete: " + athlete['Name'] + ", DOB: " + athlete['DOB'] + ".")))
print((yate.para("The top times for this athlete are:")))
print((yate.u_list(athlete['top3'])))
print((yate.para("The entire set of timing data is: " + str(athlete['data']) +
                    " (duplicates removed).")))
print((yate.include_footer({"Home": "/index.html", "Select another athlete": "generate_list.py"})))

import cgi
import yate
import athletemodel
import cgitb

cgitb.enable()
athletes = athletemodel.get_form_store()

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value

print(yate.start_response())
print(yate.include_header("Coach Kelly's List of Athletes"))
print(
    yate.header("Athlete" + athlete_name + ",DOB:" +
                athletes[athlete_name].dob + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athletes[athlete_name].pop3))
print(
    yate.include_footer({
        "Home": "/index.html",
        "select another athlete": "generate_list.py"
    }))
Пример #7
0
## 
form_data = cgi.FieldStorage()
term = form_data['terms'].value
print(yate.start_response())
print(yate.include_header("Aprori Page for " + str(term)))

## if query exist in SQL or pickle(utlmate result), check, and get the results 



### segment 
segmentedQuery = segQuery.segmentToListPerQuery(term)
print(yate.para("These are segmented query: "))
print ("<h1>" +  str(segmentedQuery) + "<h1>")
print(yate.u_list(segmentedQuery))

### look up from ehownet 
expandedQueries = get_allExpannedQueryFromStore(segmentedQuery)
print(yate.para("These are expanded queries: "))
print(yate.u_list(expandedQueries))

### render the output - rulenum, resultset 
print(yate.para("These are websnippt"))

# "results" are the JSONs list containing each page result FOR ONE QUERY [[ONE PAGE - title,content,url],[ONE PAGE - JSON]]



#for each_query in expandedQueries: 
#	time.sleep(2) # delays for 5 seconds
Пример #8
0
#### get expanded word from SQL or on the air if data in not in sql, render them and pass through input method to controller 3

if sql_webModel.checkIfdataIsStore(term_ascii.decode("utf-8"), FILE_SQLITE):
    logger.info('get the expanded query from SQLite')
    lexpandedQueries_SQL = sql_webModel.get_expannedQueryFromStore(
        term_ascii.decode('utf-8'), FILE_SQLITE)

    #print ("<h1>" +  str(lexpandedQueries_SQL) + "<h1>")
    lexpandedQueries_SQL_ascii = [
        s.encode("utf-8") for s in lexpandedQueries_SQL
    ]
    ### render expanded word results ####
    print('<h2>' + "these are the expanded queries from eHownet" + '</h2>')
    print('</br>')
    print(yate.u_list(lexpandedQueries_SQL_ascii))
    print(yate.start_form(NEXT_URL, form_type="POST"))
    for each_query in lexpandedQueries_SQL:
        print(
            yate.hidden_input('expanded_terms_array',
                              each_query.encode("utf-8")))
    print(yate.end_form())
    print('</br>')
    print(yate.include_footer({"Cancel, go back to Google": "/index.html"}))
    #print(yate.include_menu1({"cancel, go back to Google": "/index.html"}, str(term_ascii) ))

else:  ## not processed before, do expannedQuery on the air
    logger.info('get the expanded query from eHownet DB')
    print('<h1>' + 'get the expanded query from eHownet DB' + '</h1>')
    print('<h2>' + 'sorry, your term is not supported in ehowent cache!' +
          '</h2>')
Пример #9
0
form_data = cgi.FieldStorage()
athlete_name = form_data['which_player'].value
if len(form_data.list) == 1:
    connection = sqlite3.connect("target/coach_data.sqlite")
    cursor = connection.cursor()
    cursor.execute("SELECT value FROM timing_data as t INNER JOIN athletes as a on a.id=t.athlete_id where a.name=?",
                   (athlete_name,))
    values = cursor.fetchall()
    times = []
    for value in values:
        times.append(value[0])
    print(yate.start_response())
    print(yate.include_header("Coack Kelly's timing data"))
    print(yate.header("player name:" + athlete_name))
    print(yate.para("top times"))
    print(yate.u_list(times))
    print(yate.include_footer(
        {"Click here to go Home": "/index.html", "Click here to select another player": "generateL_list_sqlite3.py"}
    ))
    connection.commit()
    connection.close()
else:
    time_value = form_data['time_value'].value
    connection = sqlite3.connect("target/coach_data.sqlite")
    cursor = connection.cursor()
    cursor.execute("SELECT id FROM athletes WHERE name = ?", (athlete_name,))
    athlete_id = cursor.fetchone()[0]
    cursor.execute("INSERT INTO timing_data (athlete_id, value) VALUES (? ,?)", (athlete_id, time_value))
    connection.commit()
    connection.close()
    print(yate.start_response())
Пример #10
0
try:
    with open(RecordFilePath, mode='r', encoding='utf-8') as readfile:
        jsonstring = json.loads(readfile.read().strip())
        WrongRecDict = OrderedDict()
        for Arec in sorted(jsonstring.keys(), reverse=True):
            WrongRecDict[Arec] = Arec + '(<span style="color:red">' + str(
                len(jsonstring[Arec])) + '</span>)'

    print(yate.para('请选择查看哪天的错题?'))
    print(yate.start_form('WrongRecord.py'))
    print(yate.select_set('WrongRecSelect', WrongRecDict))
    print(yate.end_form('确定', 'sub'))

    try:
        Recordkey = form_data['WrongRecSelect'].value
        print(yate.para(''))
        print(
            yate.header(
                '以下为 <ins>%s</ins> 的错题记录(共 <ins>%d</ins> 道):' %
                (Recordkey, len(jsonstring[Recordkey])), 2))
        print(yate.u_list(jsonstring[Recordkey]))
    except KeyError:
        pass
    finally:
        print(yate.header('', 2))

except FileNotFoundError:
    print(yate.header('目前没有错误记录,请继续努力!', 1))

print(yate.include_footer({'返回首页': '/index.html'}))
Пример #11
0
import cgi
import yate
import athletemodle

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value
athlete = athletemodle.get_from_store()[athlete_name]
print(yate.start_response())
print(yate.include_header(athlete_name + " 's timing: " + "  " + athlete.dob))
print(yate.u_list(athlete.top3()))

the_links = {
    "Home": "/index.html",
    "Choose another athlete": "/cgi-bin/generate_list.py"
}
print(yate.include_footer(the_links))
Пример #12
0
candidateList = []
print(yate.start_form(NEXT_URL, form_type="POST"))

for id in candidateDic.keys():
	if candidateDic[id] == 1:
		candidateList.append(sql_webModel.get_expannedQueryByQID(id,FILE_SQLITE))
		print(yate.hidden_input('candidateID', str(id)))
		#print(yate.para(str(candidateList)))  

#print(yate.end_form())

candidateList = [s.encode("utf-8") for s in candidateList]

print('<h2>' + "After calculation, these are the most possible query candidates! " +'</h2>')
print(yate.u_list(candidateList))
print ('</br>')
#print(yate.createLink({"Verbose mode": "/cgi-bin/controller4.py"}))
print ('</br>')

#print(yate.start_form(NEXT_URL, form_type="POST"))

#### CGI passing for DEBUG page  
for c in candidateList:
	print(yate.hidden_input('candidate', c))
print('<h3>' + "Check verbose info: " +'</h3>')
print(yate.end_form("enter to verbose mode"))

#### CGI passing for final results page 

#print(yate.start_form(NEXT_URL1, form_type="POST"))
Пример #13
0
import cgi
import cgitb
cgitb.enable
import athletemodel
import yate

form_data = cgi.FieldStorage()  #獲取所有表單數據,並放在一個字典中
athlete_name = form_data['which_athlete'].value  #.value是從表單數據訪問一個指定的數據

athletes = athletemodel.get_from_store()
print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(
    yate.header("Athlete: " + athlete_name + ",DOB:" +
                athletes[athlete_name].dob + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athletes[athlete_name].top3))  #有@就不需要再top3加()
print(
    yate.include_footer({
        "Home": "/index.html",
        "Select another athlete": "generate_list.py"
    }))
Пример #14
0
## init
set_FakeListToStore()

##
form_data = cgi.FieldStorage()
term = form_data['terms'].value
print(yate.start_response())
print(yate.include_header("Aprori Page for " + str(term)))

## if query exist in SQL or pickle(utlmate result), check, and get the results

### segment
segmentedQuery = segQuery.segmentToListPerQuery(term)
print(yate.para("These are segmented query: "))
print("<h1>" + str(segmentedQuery) + "<h1>")
print(yate.u_list(segmentedQuery))

### look up from ehownet
expandedQueries = get_allExpannedQueryFromStore(segmentedQuery)
print(yate.para("These are expanded queries: "))
print(yate.u_list(expandedQueries))

### render the output - rulenum, resultset
print(yate.para("These are websnippt"))

# "results" are the JSONs list containing each page result FOR ONE QUERY [[ONE PAGE - title,content,url],[ONE PAGE - JSON]]

#for each_query in expandedQueries:
#	time.sleep(2) # delays for 5 seconds
#	print(yate.include_header("The is a search page for " + str(each_query)))
#	results = mainmodel.get_googleResult_from_firstQuery(each_query)
#!/usr/local/bin/python3
import cgi
import athletemodel2
import yate
import sys

# 可在web页面上显示出错堆栈信息
import cgitb
cgitb.enable()


form_data = cgi.FieldStorage()
athlete_id = form_data['which_athlete'].value
athletes = athletemodel2.get_athlete_from_id(athlete_id)

print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(yate.header("Athlete:" + athletes['Name'] + ',Dob' + athletes['Dob'] + '.'))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athletes['top3']))
print(yate.include_footer({"Home": "/index.html",
                           "Select another athlete": "generate_list.py"}))
print(yate.start_response())
print(yate.include_header("Aprori Page for " + str(term_ascii)))


#### get expanded word from SQL or on the air if data in not in sql, render them and pass through input method to controller 3  

if sql_webModel.checkIfdataIsStore(term_ascii.decode("utf-8"),FILE_SQLITE): 
	logger.info('get the expanded query from SQLite')
	lexpandedQueries_SQL =  sql_webModel.get_expannedQueryFromStore(term_ascii.decode('utf-8'),FILE_SQLITE)
	
	#print ("<h1>" +  str(lexpandedQueries_SQL) + "<h1>")
	lexpandedQueries_SQL_ascii = [s.encode("utf-8") for s in lexpandedQueries_SQL] 
	### render expanded word results #### 
	print('<h2>' + "these are the expanded queries from eHownet" +'</h2>')
	print ('</br>')
	print(yate.u_list(lexpandedQueries_SQL_ascii))
	print(yate.start_form(NEXT_URL, form_type="POST"))
	for each_query in lexpandedQueries_SQL:
		print(yate.hidden_input('expanded_terms_array', each_query.encode("utf-8")))
	print(yate.end_form())
	print ('</br>')
	print(yate.include_footer({"Cancel, go back to Google": "/index.html"}))
	#print(yate.include_menu1({"cancel, go back to Google": "/index.html"}, str(term_ascii) ))

else: ## not processed before, do expannedQuery on the air 
	logger.info('get the expanded query from eHownet DB')
	print('<h1>' + 'get the expanded query from eHownet DB' +'</h1>')
	print('<h2>' + 'sorry, your term is not supported in ehowent cache!' +'</h2>')
	logger.info('get the expanded query from eHownet DB')
	'''
	#lexpandedQueries_ehownet = ehownet.get_allExpannedQueryFromStore(term_ascii_ascii.decode('utf-8'))
Пример #17
0
import cgitb
cgitb.enable()

import kelly6
import yate
import glob

data_files = glob.glob("data/*.txt")
athletes = kelly6.loadfiles(data_files)

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value

athlete = None

for each_athlete in athletes:
	if each_athlete.name == athlete_name:
		athlete = each_athlete
	else:
		pass

print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))    
print(yate.header("Athlete: " + athlete_name + ", DOB: " +
                      athlete.birthdate + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athlete.top3()))
print(yate.include_footer({"Home": "/index.html",
                           "Select another athlete": "generate_list.py"}))

Пример #18
0
# 這裡的數據指的是 athletes 這個數據 (字典,index=選手名,值=一個list特徵的物件)
form_data = cgi.FieldStorage() # 我還是不太清楚 form_data是個什麼東西

# 在 generate_list 中,我們作的button,
# 把 "which_athlete"塞到 name,把選手的名字=athletes[each_athlete].name塞到value
# 即:
# <input type="radio" name="which_athlete" value="選手名字"> 選手名字<br />
athlete_name = form_data["which_athlete"].value



# 總是以 Content-type 作為開頭
print(yate.start_response())
# 生成webPage並提供標題
print(yate.include_header("指定選手的計時數據"))
print(yate.header("選手:" + athlete_name + 
                  ",生日:" + athletes[athlete_name].birth + "。"))



# 接下來才是內容段落:告訴妳的用戶要作什麼
print(yate.para("The top times for this athlete are:"))
# 生成一個無序的list
print(yate.u_list(athletes[athlete_name].top3))  # 有@property
# print(yate.u_list(athletes[athlete_name].top3())) # 沒有@property

# 在生成的HTML頁面最下面增加一個連結,指向主頁Home
print(yate.include_footer({"Home":"/index.html",
                           "Select another athlete":"generate_list.py"}))

import cgi
import athletemodel_sqlite3
import yate

form_data = cgi.FieldStorage()
athlete_id = form_data['which_athlete'].value
athlete = athletemodel_sqlite3.get_athlete_from_id(athlete_id)

print(yate.start_response())

print(yate.include_header("Coach Kelly's Timing Data"))

print(
    yate.header("Athlete: " + athlete['Name'] + " , DOB: " + athlete['DOB'] +
                "."))

print(yate.para("The top times for this athlete are:"))

print(yate.u_list(athlete['top3']))

print(
    yate.para("The entire set of timing data is : " + str(athlete['data']) +
              "(duplicates removed)."))





print(yate.include_footer({"Home": "/index_sqlite3.html", \
                           "Select another athlete": "generate_list_sqlite3.py"}))
#!/usr/bin/python3

import athletemodel
import yate
import cgi
import cgitb
cgitb.enable()

form_data = cgi.FieldStorage()

athelete_name = form_data['which_athelete'].value

atheletes = athletemodel.get_from_store()

print(yate.start_response())

print(yate.include_header("Coach Kelly's Timing Data"))

print(
    yate.header("Timing data for :" + athelete_name + ", DOB: " +
                atheletes[athelete_name].dob))
print(yate.para("The top times for this athelete are:"))

print(yate.u_list(atheletes[athelete_name].top3))
print(
    yate.include_footer({
        "Home": "/index.html",
        "Select Another Athelete": "/cgi-bin/generate_list.py"
    }))
Пример #21
0
# -*- coding:utf-8 -*-
import cgi
import yate
import athletemodel
#import cgitb

#cgitb.enable()

ale = athletemodel.get_from_store()
form_data = cgi.FieldStorage()
atlete_name = form_data["which_athlete"].value
print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(
    yate.header("Athlete:" + ale[atlete_name].name + ",DOB:" +
                ale[atlete_name].dob + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(ale[atlete_name].top3))
print(
    yate.include_footer({
        "Home": "/index.html",
        "Select another one": "generate_list.py"
    }))
Пример #22
0
import yate
import athletemodel
import cgi
import os

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value
#athlete_name="Sarah Sweeney"
print(yate.start_response())
print(yate.include_header(athlete_name + "'s timing"))
#print(yate.para(athlete_name+"'s timing"))
data = athletemodel.get_from_store()

athlete = data[athlete_name]
print(yate.u_list(sorted(set(athlete))[:3]))
print(
    yate.include_footer({
        "Home": "/index.html",
        "Select another athlete": "generate_list.py"
    }))  #os.path.join(os.getcwd(),"index.html")
#! /usr/local/bin/python3
import cgi
import yate
import athletemodel

import cgitb
cgitb.enable()

athletes = athletemodel.get_from_store()
# athletemodel.get_from_store get a dict
# { name1: AthleteList1, name2: AthleteList2....}
# from pickled file

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value

print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(
    yate.header("Athlete: " + athlete_name + ", DOB: " +
                athletes[athlete_name].dob + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athletes[athlete_name].top3()))

print(
    yate.include_footer({
        "Home": "/index.html",
        "Select another athlete": "generate_list.py"
    }))
#!/usr/bin/python3
# upper line is needed on Unix-based systems only.

import cgi

import athletemodel
import yate

import cgitb
cgitb.enable()

athletes = athletemodel.get_from_store()

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value

print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))
print(yate.header("Athlete: " + athlete_name + ", DOB: " + athletes[athlete_name].dob + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athletes[athlete_name].top3))	# top3() -> top3 // unless the method is declared to be an "@property", in which case parentheses are NOT required.
print(yate.include_footer({"Home": "/index.html", "Select another athlete": "generate_list.py"}))

Пример #25
0

print(dir())

the_files = ['sarah2.txt', 'james2.txt', 'mikey2.txt', 'julie2.txt']
data = put_to_store(the_files)
print(data)

for each_athlete in data:
	print(data[each_athlete].name + ' ' + data[each_athlete].dob)

data_copy = get_from_store()
for each_athlete in data_copy:
	print(data_copy[each_athlete].name + ' ' + data_copy[each_athlete].dob)

print(yate.start_response())
print(yate.start_response("text/plain"))
print(yate.start_response("application/json"))
print(yate.include_header("Welcome to my home on the web!"))
print(yate.include_footer({'Home': '/index.html', 'Select': '/cgi-bin/select.py'}))
print(yate.include_footer({}))
print(yate.start_form("/cgi-bin/process-athlete.py"))
print(yate.end_form())
print(yate.end_form("Click to Confirm Your Order"))
for fab in ['John', 'Paul', 'George', 'Ringo']:
	print(yate.radio_button(fab, fab))
print(yate.u_list(['Life of Brian', 'Holy Grail']))
print(yate.header("Welcome to my home on the web"))
print(yate.header("This isa sub-sub-sub-sub-heading", 5))
print(yate.para("Was it worth the wait? We hope it was..."))
Пример #26
0
import cgitb
import cgi
import yate
import athletemodel

# 打开错误提示
cgitb.enable()
# 获取请求表单
form_data = cgi.FieldStorage()
# 获取选手主键
athlete_id = form_data["which_athlete"].value
# 获取选手
athlete = athletemodel.get_athlete_from_id(athlete_id)
# 响应文件类型
print(yate.start_response())
# html头
print(yate.include_header("NUAC's Timing Data"))
# 提示数据
print(yate.header("Athlete:" + athlete["Name"] + ",DOB:" + athlete["DOB"]))
# 打印提示数据
print(yate.para("The top times for this athlete are:"))
# 打印数据集合
print(yate.u_list(athlete["top3"]))
# 打印数据
print(yate.para("The entire set of timing data is:" + str(athlete["data"]) + ".(duplicates removed)."))
# html尾
print(yate.include_footer({"Home":"/index.html", "Select another athlete":"/cgi-bin/generate_list.py"}))

#! /usr/bin/env python
import cgitb
cgitb.enable()
import cgi
import yate
import athletemodel

athletes = athletemodel.get_from_store()

form_data = cgi.FieldStorage()
if "which_athlete" not in form_data:
    print "<H1>Error</H1>"
    print "Please choose one athlete."
athlete_name = form_data["which_athlete"].value
the_athlete = athletes[athlete_name]

print yate.start_response()
print yate.include_header("Coach Kelly's Timing Data")
print yate.header("Athlete:" + athlete_name + ", DOB:" + the_athlete.dob + ".")
print yate.para("The top times for " + athlete_name + " are:")
print yate.u_list(the_athlete.top3)
print yate.include_footer({"Home":"index.html", "Select another athlete":"generate_list.py"})
#! /usr/bin/env python
import cgitb
cgitb.enable()
import cgi
import yate
import athletemodel

form_data = cgi.FieldStorage()
if "which_athlete" not in form_data:
    print "<H1>Error</H1>"
    print "Please choose one athlete."
athlete_id = form_data["which_athlete"].value
athlete = athletemodel.get_athlete_from_id(athlete_id)

print yate.start_response()
print yate.include_header("Coach Kelly's Timing Data")
print yate.header("Athlete:" + athlete['name'] + ", DOB:" + athlete['dob'] + ".")
print yate.para("The top times for " + athlete['name'] + " are:")
print yate.u_list(athlete['top3'])
print yate.para("The entire set of timing data is: " + str([float(item) for item in athlete['data']]) + " (duplicates removed).")
print yate.do_form("add_timing_data.py", [athlete_id], "post", "Add a new time");
print yate.include_footer({"Home":"../index.html", "Select another athlete":"generate_list.py"})