示例#1
0
  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")
示例#2
0
文件: main.py 项目: lovett/announcer
    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")
示例#3
0
    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")