65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
#!/usr/bin/python2
 | 
						|
 | 
						|
import sys, os
 | 
						|
import common
 | 
						|
import MySQLdb
 | 
						|
import urllib, db, unique_cookie
 | 
						|
 | 
						|
uid = unique_cookie.unique_id('tko_history')
 | 
						|
 | 
						|
 | 
						|
def body():
 | 
						|
    db_obj = db.db()
 | 
						|
    condition = "uid='%s'" % uid
 | 
						|
    where = (condition,[])
 | 
						|
    try:
 | 
						|
        rows = db_obj.select("time_created,user_comment,url",
 | 
						|
                     "tko_query_history", where)
 | 
						|
    except MySQLdb.ProgrammingError, err:
 | 
						|
        print err
 | 
						|
        rows = ()
 | 
						|
    print '<table border="1">'
 | 
						|
    ##  Display history starting with the most recent queries
 | 
						|
    for row in reversed(rows):
 | 
						|
        (time_created, user_comment, tko_url) = row
 | 
						|
        print '<tr>'
 | 
						|
        print '<td> %s </td>' % time_created
 | 
						|
        print '<td> %s </td>' % user_comment
 | 
						|
        dict_url = {'delete':time_created}
 | 
						|
        link = 'save_query.cgi?' + urllib.urlencode(dict_url)
 | 
						|
        print '<td> <a href="%s">Delete</a> </td>' % link
 | 
						|
        print '<td><a href="%s">%s</a></td>' % (tko_url, tko_url)
 | 
						|
        print '</tr>'
 | 
						|
    print '</table>'
 | 
						|
 | 
						|
    last_recorded_query = ''
 | 
						|
    if rows:
 | 
						|
        (time_created, user_comment, last_recorded_query) = rows[-1]
 | 
						|
    ## Link "Back to Autotest" on query history page
 | 
						|
    back_link = os.environ.get('HTTP_REFERER')
 | 
						|
    ## possible complications:
 | 
						|
    ## a) HTTP_REFERER = None
 | 
						|
    ## b) HTTP_REFERER is save_query page
 | 
						|
    ## In both cases we still want to get to tko results.
 | 
						|
    ## primary fall back: link to last_recorded_query
 | 
						|
    ## secondary fall back: link to opening tko page
 | 
						|
    if not "compose_query.cgi" in str(back_link):
 | 
						|
        back_link = last_recorded_query
 | 
						|
    if not back_link: ## e.g. history is empty and/or HTTP_REFERER unknown
 | 
						|
        back_link = "compose_query.cgi"
 | 
						|
    print '<br><a href="%s">Autotest Results</a><br>' % back_link
 | 
						|
 | 
						|
 | 
						|
def main():
 | 
						|
    print "Content-type: text/html\n"
 | 
						|
    print
 | 
						|
    # create the actual page
 | 
						|
    print '<html><head><title>'
 | 
						|
    print 'History of TKO usage'
 | 
						|
    print '</title></head><body>'
 | 
						|
    body()
 | 
						|
    print '</body></html>'
 | 
						|
 | 
						|
 | 
						|
main()
 |