from google.appengine.api import users from google.appengine.ext import db from os import environ import cgi import sandbox user = sandbox.remote_user() if environ["REQUEST_METHOD"] != "POST": entities_owned = sandbox.Entity.get_by_user(user) sandbox.template_response("user_home.html", {"entities_owned": entities_owned}) else: fields = cgi.FieldStorage() mode = fields["mode"].value if mode == "create_entity": import uuid name = uuid.uuid4().hex entity = sandbox.Entity(name=name) entity.put() sandbox.redirect("/mine")
fields = { "mode": "subscribe", "entity": remote_entity, } payload = urllib.urlencode(fields) request = urllib2.Request( subscribe_endpoint, payload, {"Authorization": "DFPEntity " + entity.name + " " + assoc_token}) try: response = urllib2.urlopen(request) except urllib2.URLError, ex: logging.error("Failed to make subscription request for domain %r", remote_domain) sandbox.template_response("entity_home_subscribe_fail.html", {}) exit() try: data = dfp.json.load(response) except ValueError, ex: logging.error( "Failed to parse subscription response from domain %r", remote_domain) sandbox.template_response("entity_home_subscribe_fail.html", {}) exit() logging.info( "Subscription request for entity %r at domain %r from local entity %r succeeded and returned %r", remote_entity, remote_domain, entity.name, data) sandbox.redirect(environ["PATH_INFO"])
sandbox.template_response("entity_home_subscribe_fail.html", {}) exit() assoc_token = assoc_dict["token"] logging.debug("Going to do a subscription request for domain %r to endpoint %r using association token %r", remote_domain, subscribe_endpoint, assoc_token) fields = { "mode": "subscribe", "entity": remote_entity, } payload = urllib.urlencode(fields) request = urllib2.Request(subscribe_endpoint, payload, {"Authorization": "DFPEntity "+entity.name+" "+assoc_token}) try: response = urllib2.urlopen(request) except urllib2.URLError, ex: logging.error("Failed to make subscription request for domain %r", remote_domain) sandbox.template_response("entity_home_subscribe_fail.html", {}) exit() try: data = dfp.json.load(response) except ValueError, ex: logging.error("Failed to parse subscription response from domain %r", remote_domain) sandbox.template_response("entity_home_subscribe_fail.html", {}) exit() logging.info("Subscription request for entity %r at domain %r from local entity %r succeeded and returned %r", remote_entity, remote_domain, entity.name, data) sandbox.redirect(environ["PATH_INFO"])