Esempio n. 1
0
  def post(self):
    self.response.headers['Content-Type'] = 'text/plain; charset=utf-8'
    ci = ContactInfo()
    try:
      if APPSEC != self.request.get('APPSEC'):
        raise ValueError

      ci.account_id = int(self.request.get('account_id'))
      if ci.account_id < 1:
        raise ValueError

      d = self.request.get('data')
      if d is None or len(d) < 1:
        raise ValueError
      ci.data = db.Blob(d.encode('utf-8'))

      ci.email = self.request.get('email')
      if ci.email is None or len(ci.email) == 0:
        ci.email = None
        ci.domain = None
      else:
        ci.email = ci.email.lower()
        ci.domain = ci.email[ci.email.index('@') + 1:]

      f = self.request.get('filed')
      if f is None or len(f) == 0:
        f = datetime.utcnow()
      else:
        f = datetime.utcfromtimestamp(int(f))
      ci.filed = f
    except:
      self.response.set_status(500)
      self.response.out.write('BAD INPUT\n')
      raise

    try:
      ci.put()
    except:
      self.response.set_status(500)
      self.response.out.write('DATA STORE FAIL\n')
      raise

    self.response.set_status(200)
    self.response.out.write('OK\n')