Define the Models for implementing Quizzes (collections of Questions) and their
Responses (collections of Answers to those Questions). These Models would
form the basis of storage for such items as:
Terms of Service (Quiz)
Question ("I agree...")
Response -> Answer (answer to "I agree..." confirmation)
solution ("Yes" Answer to the "I agree..." Question)
Mentor and Student surveys (Quiz)
Questions (including "Pay this student?")
Response -> Answers
solution ("Yes" Answer to the "Pay this student?" Question)
Organization applications
Student Proposal review, comment, and scoring system
GHOP task tracking (a specific task list item would be a Quiz)
Patch by: Todd Larsen
Review by: Pawel Solyga, Sverre Rabbelier, Chen Lunpeng
Review URL: http://codereviews.googleopensourceprograms.com/1403
import hotshot, time, os
from django.core.handlers.modpython import ModPythonHandler
PROFILE_DATA_DIR = "/var/log/cmsprofile"
def handler(req):
'''
Handler that uses hotshot to store profile data.
Stores profile data in PROFILE_DATA_DIR. Since hotshot has no way (that I
know of) to append profile data to a single file, each request gets its own
profile. The file names are in the format <url>.<n>.prof where <url> is
the request path with "/" replaced by ".", and <n> is a timestamp with
microseconds to prevent overwriting files.
Use the gather_profile_stats.py script to gather these individual request
profiles into aggregated profiles by request path.
'''
profname = "%s.%.3f.prof" % (req.uri.strip("/").replace('/', '.'), time.time())
profname = os.path.join(PROFILE_DATA_DIR, profname)
prof = hotshot.Profile(profname)
return prof.runcall(ModPythonHandler(), req)