diff options
Diffstat (limited to 'framed.py')
-rw-r--r-- | framed.py | 50 |
1 files changed, 38 insertions, 12 deletions
@@ -8,27 +8,52 @@ import re from time import sleep from random import randint +class Title(db.Model): + title = db.StringProperty(required=True) + code = db.StringProperty(required=True) + actors = db.StringListProperty() + characters = db.StringListProperty() + lastThumb = db.IntegerProperty() +class Answer(db.Model): + title = db.ReferenceProperty(Title) + answer = db.ListProperty(int) + class NewQuestion(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'application/json' titles = Title.all() title = titles[randint(0, titles.count() - 1)] - if len(title.actors) == 0: - return self.get() - - url = "http://img.anyclip.com/thumbnails/%s/tmb_%s_480.jpg" % (title.code, "910") #frame hard-coded for now + url = "http://img.anyclip.com/thumbnails/%s/tmb_%s_480.jpg" % (title.code, randint(1, title.lastThumb / 10) * 10) #frame hard-coded for now cast = "" for i in range(len(title.actors)): if i != 0: cast += "," cast += "[\"%s\",\"%s\"]" % (title.actors[i], title.characters[i]) - self.response.out.write("{title:\"%s\",frame:\"%s\",cast:[%s]}" % (title.title, url, cast)) -class Title(db.Model): - title = db.StringProperty(required=True) - code = db.StringProperty(required=True) - actors = db.StringListProperty() - characters = db.StringListProperty() - lastThumb = db.IntegerProperty() + self.response.out.write("{\"title\":\"%s\",\"code\":\"%s\",\"frame\":\"%s\",\"cast\":[%s]}" % (title.title, title.code, url, cast)) + +class AnswerQuestion(webapp.RequestHandler): + def get(self): + code = self.request.get("code") + answer = self.request.get("inframe") + if code == "" or answer == "": + return + answers = answer.split(",") + for i in range(len(answers)): + try: + answers[i] = int(answers[i]) + if (answers[i] > 9): + return + except: + return + titleQuery = Title.all().filter('code = ', code).fetch(1) + if len(titleQuery) != 1 or len(answers) == 0 or (answers[i] == -1 and len(answers) > 1): + return + answer = Answer() + answer.title = titleQuery[0] + answer.answer = answers; + answer.put() + self.response.out.write(str(answers) + "<br>" + code); + class LoadNewTitles(webapp.RequestHandler): def __init__(self): self.api = AnyClipAPI("CAD58B9E-F045-492F-81B9-22CFE6B00604") @@ -90,7 +115,8 @@ class LoadNewTitles(webapp.RequestHandler): application = webapp.WSGIApplication( [('/newquestion', NewQuestion), - ('/loadnewtitles', LoadNewTitles)], + ('/loadnewtitles', LoadNewTitles), + ('/answerquestion', AnswerQuestion)], debug=True) def main(): |