summaryrefslogtreecommitdiffstats
path: root/framed.py
diff options
context:
space:
mode:
Diffstat (limited to 'framed.py')
-rw-r--r--framed.py50
1 files changed, 38 insertions, 12 deletions
diff --git a/framed.py b/framed.py
index 0e8acdf..e36616d 100644
--- a/framed.py
+++ b/framed.py
@@ -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():