def post(self): required_parameters = ["token", "number"] for param in required_parameters: param_value = self.request.get(param) if not param_value: self.response.set_status(400) self.response.out.write("Missing parameter: %s" % param) return profile = ProfileManager.findByToken(self.request.get("token")) if not profile: self.response.set_status(400) self.response.out.write("Invalid token") return announcement = Announcement(type="phonecall", params={"number": self.request.get("number"), "name": self.request.get("name"), "profile": profile}) announcement.send() self.response.set_status(200) self.response.out.write("OK")
def post(self): required_parameters = ["token", "message"] for param in required_parameters: param_value = self.request.get(param) if not param_value: self.response.set_status(400) self.response.out.write("Missing parameter: %s" % param) return profile = ProfileManager.findByToken(self.request.get("token")) if not profile: self.response.set_status(400) self.response.out.write("Invalid token") return announcement = Announcement(type="event", params={"message": self.request.get("message"), "source": self.request.get("source") or "generic", "profile": profile}) announcement.send() self.response.set_status(200) self.response.out.write("OK")
def receive(self, message): token = None # the recipient address is determined by the url, not the # content of the email message. received_at = self.request.path.split("/")[-1] token = received_at.split("@")[0] profile = ProfileManager.findByToken(token) if not profile: self.response.out.write("NO PROFILE") logging.info("Profile not found") return announcement = Announcement(type="email", params={"message": message, "profile": profile}) announcement.send() self.response.set_status(200) self.response.out.write("OK")