diff options
author | 2009-10-20 21:12:19 -0400 | |
---|---|---|
committer | 2009-10-20 21:12:19 -0400 | |
commit | 448a1dc6b29b0e5306cd5f5ce66906adf39b7be5 (patch) | |
tree | e5ebde1adc3a7ddad1b7391c87e08cf3fca3813f | |
parent | Index for statistics. (diff) | |
download | FramedPrototype-448a1dc6b29b0e5306cd5f5ce66906adf39b7be5.tar.xz FramedPrototype-448a1dc6b29b0e5306cd5f5ce66906adf39b7be5.zip |
Account for last item.
-rw-r--r-- | framed.py | 81 |
1 files changed, 45 insertions, 36 deletions
@@ -136,46 +136,55 @@ class Statistics(webapp.RequestHandler): def get(self): self.response.out.write("<html><head><title>Statistics</title></head><body><h2>Statistics</h2>") query = Answer.all().order("title").order("frame") + total = query.count() + i = 0 lastTitle = None lastFrame = -1 frameAnswers = [] for answer in query: - if lastFrame != answer.frame or lastTitle == None or answer.title.key() != lastTitle.key(): - if len(frameAnswers) != 0: - union = None - intersection = None - for frameAnswer in frameAnswers: - if union == None: - union = set(frameAnswer) - else: - union = union.union(set(frameAnswer)) - if intersection == None: - intersection = set(frameAnswer) - else: - intersection = intersection.intersection(set(frameAnswer)) - self.response.out.write("<li>Frame %s with %s answers:" % (lastFrame, len(frameAnswers))) - self.response.out.write("<ul><li>Union:<ul>") - for index in union: - if index == -1: - self.response.out.write("<li><i>Nobody</i></li>") - else: - self.response.out.write("<li>%s as %s</li>" % (lastTitle.actors[index], lastTitle.characters[index])) - self.response.out.write("</ul></li>") - self.response.out.write("<li>Intersection:<ul>") - for index in intersection: - if index == -1: - self.response.out.write("<li><i>Nobody</i></li>") - else: - self.response.out.write("<li>%s as %s</li>" % (lastTitle.actors[index], lastTitle.characters[index])) - self.response.out.write("</ul></li></ul>") - frameAnswers = [] - lastFrame = answer.frame - frameAnswers.append(answer.answer) - if lastTitle == None or answer.title.key() != lastTitle.key(): - if lastTitle != None: - self.response.out.write("</ul></ul>") - lastTitle = answer.title - self.response.out.write("<ul><li>%s</li><ul>" % answer.title.title) + while True: + if lastFrame != answer.frame or lastTitle == None or answer.title.key() != lastTitle.key(): + if len(frameAnswers) != 0: + union = None + intersection = None + for frameAnswer in frameAnswers: + if union == None: + union = set(frameAnswer) + else: + union = union.union(set(frameAnswer)) + if intersection == None: + intersection = set(frameAnswer) + else: + intersection = intersection.intersection(set(frameAnswer)) + self.response.out.write("<li>Frame %s with %s answers:" % (lastFrame, len(frameAnswers))) + self.response.out.write("<ul><li>Union:<ul>") + for index in union: + if index == -1: + self.response.out.write("<li><i>Nobody</i></li>") + else: + self.response.out.write("<li>%s as %s</li>" % (lastTitle.actors[index], lastTitle.characters[index])) + self.response.out.write("</ul></li>") + self.response.out.write("<li>Intersection:<ul>") + for index in intersection: + if index == -1: + self.response.out.write("<li><i>Nobody</i></li>") + else: + self.response.out.write("<li>%s as %s</li>" % (lastTitle.actors[index], lastTitle.characters[index])) + self.response.out.write("</ul></li></ul>") + frameAnswers = [] + lastFrame = answer.frame + frameAnswers.append(answer.answer) + if lastTitle == None or answer.title.key() != lastTitle.key(): + if lastTitle != None: + self.response.out.write("</ul></ul>") + lastTitle = answer.title + self.response.out.write("<ul><li>%s</li><ul>" % answer.title.title) + i += 1 + if i == total: + answer = Answer() + answer.title = lastTitle + else: + break self.response.out.write("</body></html>"); application = webapp.WSGIApplication( |