diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2010-03-15 06:59:34 -0400 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2010-03-15 06:59:34 -0400 |
commit | 16601b6055f29dae9ee4b2af25b453b8f3b5fe41 (patch) | |
tree | 4e3e29ee8f5766ce121373972b0f55ab4ae7f2fa | |
parent | Preliminary support for API method to add moments. (diff) | |
download | MomentSelector-16601b6055f29dae9ee4b2af25b453b8f3b5fe41.tar.xz MomentSelector-16601b6055f29dae9ee4b2af25b453b8f3b5fe41.zip |
Don't store names. Add backoffice api file.
-rw-r--r-- | server-handler/backoffice.py | 25 | ||||
-rwxr-xr-x | server-handler/momentselector.py | 6 |
2 files changed, 28 insertions, 3 deletions
diff --git a/server-handler/backoffice.py b/server-handler/backoffice.py new file mode 100644 index 0000000..2e60813 --- /dev/null +++ b/server-handler/backoffice.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- + +from google.appengine.api.urlfetch import fetch +from django.utils.simplejson import loads, dumps +import re + +class AnyClipBackoffice(): + def __init__(self, key): + self.key = key + self.errorMatch = re.compile("<code>(.*)</code><description>(.*)</description>") + def request(self, *arguments, **keywords): + keywords["token"] = self.key + url = "http://api.anyclip.com/ac_backoffice/v1/json/" + for call in arguments: + url += call + "/" + response = fetch(url, payload=dumps(keywords), method="POST", headers={"Content-Type": "application/json; charset=utf-8"}) + if response.status_code == 200: + error = self.errorMatch.search(response.content) + if error != None: + return None + else: + return loads(response.content) + else: + return None diff --git a/server-handler/momentselector.py b/server-handler/momentselector.py index d7e7078..9f3a92a 100755 --- a/server-handler/momentselector.py +++ b/server-handler/momentselector.py @@ -132,7 +132,7 @@ 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}, name="Load-titles-%s-to-%s" % (index, index + step)).add(queue_name="titleloader") + Task(url='/loadnewtitles', params={'index': index, 'step': step}).add(queue_name="titleloader") self.response.out.write("Requested update of titles and momentCounts.") def post(self): index = self.request.get("index") @@ -141,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"]}, name="Count-moments-for-%s" % title["Code"]).add(queue_name='momentcounter') + Task(url='/updatemomentcount', params={'code': title["Code"]}).add(queue_name='momentcounter') class UpdateMomentCount(webapp.RequestHandler): def post(self): @@ -261,7 +261,7 @@ class AdminRequest(webapp.RequestHandler): 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') + Task(url='/adminrequest', params={'action': 'submitMoment', 'id': moment.id()}, method="GET").add(queue_name='momentsubmitter') self.response.out.write("Queued up all non-submitted moments to be submitted.") def main(): |