summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2010-03-13 05:39:29 -0500
committerJason A. Donenfeld <Jason@zx2c4.com>2010-03-13 05:39:29 -0500
commit51ad89c39331e6803237efe639f70791caa7b407 (patch)
treef606f3a6e2b2fca20b3801d5f78c87c77d98c24d
parentMore frequent updating of titles. (diff)
downloadMomentSelector-51ad89c39331e6803237efe639f70791caa7b407.tar.xz
MomentSelector-51ad89c39331e6803237efe639f70791caa7b407.zip
Preliminary support for API method to add moments.
-rwxr-xr-xserver-handler/momentselector.py26
-rw-r--r--server-handler/queue.yaml3
2 files changed, 25 insertions, 4 deletions
diff --git a/server-handler/momentselector.py b/server-handler/momentselector.py
index 47028e5..d7e7078 100755
--- a/server-handler/momentselector.py
+++ b/server-handler/momentselector.py
@@ -5,6 +5,7 @@ from google.appengine.api.labs.taskqueue import Task
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from api import AnyClipAPI
+from backoffice import AnyClipBackoffice
from django.utils.simplejson import load, dumps
from random import randint
from math import log10
@@ -94,7 +95,7 @@ class Request(webapp.RequestHandler):
#if title.skill > 0:
# title.skill -= 1
title.put()
- self.response.out.write("success");
+ self.response.out.write("success")
def unknownMovie(self, title):
title.skill += 1
title.put()
@@ -131,8 +132,8 @@ class LoadNewTitles(webapp.RequestHandler):
total = api.request("titles", (0, 1, "filter", 0))["TotalItemCount"]
step = 20
for index in range(0, total, step):
- Task(url='/loadnewtitles', params={'index': index, 'step': step}).add(queue_name="titleloader")
- self.response.out.write("Requested update of titles and momentCounts.");
+ Task(url='/loadnewtitles', params={'index': index, 'step': step}, name="Load-titles-%s-to-%s" % (index, index + step)).add(queue_name="titleloader")
+ self.response.out.write("Requested update of titles and momentCounts.")
def post(self):
index = self.request.get("index")
step = self.request.get("step")
@@ -140,7 +141,7 @@ class LoadNewTitles(webapp.RequestHandler):
for title in titles:
if Title.all().filter('code = ', title["Code"]).count() == 0:
Title(title=title["Name"], code=title["Code"], imdbID=title["ImdbID"]).put()
- Task(url='/updatemomentcount', params={'code': title["Code"]}).add(queue_name='momentcounter')
+ Task(url='/updatemomentcount', params={'code': title["Code"]}, name="Count-moments-for-%s" % title["Code"]).add(queue_name='momentcounter')
class UpdateMomentCount(webapp.RequestHandler):
def post(self):
@@ -245,6 +246,23 @@ class AdminRequest(webapp.RequestHandler):
moment.title.put()
moment.delete()
self.response.out.write("success")
+ elif self.request.get('action') == 'submitMoment':
+ moment = Moment.get_by_id(int(self.request.get('id')))
+ if moment == None or moment.submittedToAPI:
+ self.response.out.write("failure")
+ return
+ backoffice = AnyClipBackoffice("3A0E5351-2E01-4B13-87C8-63E09B26374F")
+ response = backoffice.request("title", moment.title.code, "scenes", "new", "raw", imdbQuoteID=moment.quoteID, name=moment.momentName)
+ if response != None:
+ self.response.out.write("success")
+ moment.submittedToAPI = True
+ moment.put()
+ else:
+ self.response.out.write("failure")
+ elif self.request.get('action') == 'submitAllMoments':
+ for moment in Moment.all(keys_only=True).filter('submittedToAPI =', False):
+ Task(url='/adminrequest', params={'action': 'submitMoment', 'id': moment.id()}, method="GET", name="Submit-moment-id-%s" % moment.id()).add(queue_name='momentsubmitter')
+ self.response.out.write("Queued up all non-submitted moments to be submitted.")
def main():
application = webapp.WSGIApplication ([ ('/request', Request),
diff --git a/server-handler/queue.yaml b/server-handler/queue.yaml
index 1ad3f38..f442a03 100644
--- a/server-handler/queue.yaml
+++ b/server-handler/queue.yaml
@@ -8,3 +8,6 @@ queue:
- name: debugger
rate: 20/s
bucket_size: 20
+- name: momentsubmitter
+ rate: 1/s
+ bucket_size: 1