diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2010-03-13 05:39:29 -0500 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2010-03-13 05:39:29 -0500 |
commit | 51ad89c39331e6803237efe639f70791caa7b407 (patch) | |
tree | f606f3a6e2b2fca20b3801d5f78c87c77d98c24d | |
parent | More frequent updating of titles. (diff) | |
download | MomentSelector-51ad89c39331e6803237efe639f70791caa7b407.tar.xz MomentSelector-51ad89c39331e6803237efe639f70791caa7b407.zip |
Preliminary support for API method to add moments.
-rwxr-xr-x | server-handler/momentselector.py | 26 | ||||
-rw-r--r-- | server-handler/queue.yaml | 3 |
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 |