def topic_update_from_live(self, edit_version): layout.update_from_live(edit_version) try: response = urlfetch.fetch( url="http://www.khanacademy.org/api/v1/topictree", deadline=25) topictree = json.loads(response.content) logging.info("calling /_ah/queue/deferred_import") # importing the full topic tree can be too large so pickling and compressing deferred.defer(api.v1_utils.topictree_import_task, "edit", "root", True, zlib.compress(pickle_util.dump(topictree)), _queue="import-queue", _url="/_ah/queue/deferred_import") except urlfetch.Error, e: logging.exception("Failed to fetch content from khanacademy.org")
def topic_update_from_live(self, edit_version): layout.update_from_live(edit_version) try: response = urlfetch.fetch( url="http://www.khanacademy.org/api/v1/topictree", deadline=25) topictree = json.loads(response.content) logging.info("calling /_ah/queue/deferred_import") # importing the full topic tree can be too large so pickling and compressing deferred.defer(api.v1_utils.topictree_import_task, "edit", "root", True, zlib.compress(pickle.dumps(topictree), pickle.HIGHEST_PROTOCOL), _queue="import-queue", _url="/_ah/queue/deferred_import") except urlfetch.Error, e: logging.exception("Failed to fetch content from khanacademy.org")
def topic_update_from_live(self, edit_version): layout.update_from_live(edit_version) try: if App.is_dev_server: topictree_url="http://khan-testing.appspot.com/topictree_test.json" else: topictree_url=url_util.absolute_url("/topictree.json") response = urlfetch.fetch( url=topictree_url, deadline=25) topictree = json.loads(response.content) logging.info("calling /_ah/queue/deferred_import") # importing the full topic tree can be too large so pickling and compressing deferred.defer(api.v1_utils.topictree_import_task, "edit", "root", True, zlib.compress(pickle_util.dump(topictree)), _queue="import-queue", _url="/_ah/queue/deferred_import") except urlfetch.Error, e: logging.exception("Failed to fetch content from khanacademy.org")