# -*- coding: iso-8859-1 -*-
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.api.urlfetch import fetch
from api import AnyClipAPI
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)]
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\",\"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) + "
" + code);
class LoadNewTitles(webapp.RequestHandler):
def __init__(self):
self.api = AnyClipAPI("CAD58B9E-F045-492F-81B9-22CFE6B00604")
self.imdbPattern = re.compile("