Esempio n. 1
0
  def get(self):
    dir = "model/data"
    with open('%s/User.csv'%(dir)) as csvfile:
      data = csv.reader(csvfile)
      for row in data:
        User.create(
          auth_id = row[0],
          password_raw = row[1],
          name = row[2],
          email_address = row[3],
          lang = row[4],
          country = row[5],
          role = row[6]
        )
    
    with open('%s/Pet.csv'%(dir)) as csvfile:
      data = csv.reader(csvfile)
      entities = []
      for row in data:
        pet = Pet(
          name=row[0],
          pet_type=ndb.Key(PetType, row[1]),
          pet_category=ndb.Key(PetCategory, row[2]),
          avatar=row[4],
          birth=row[5],
          sex=row[6],
          owner=ndb.Key(User,row[7]),
          status=row[8],
          user= [
            ndb.Key(User,row[9])
          ]
        )
        if row[10]:
          pet.user += [ndb.Key(User,row[10]),]

        if row[3]:
          pet.breed=ndb.Key(Breed, row[3])
        entities += [pet,]
      ndb.put_multi(entities)
Esempio n. 2
0
  def post(self):
    data =  json.loads(self.request.body)

    validator = ModelUtils.validate("User", data)
    if validator:
        self.response.set_status(400)
        self.SendJson(validator)
        return

    user_data = User.create(
      auth_id = data['auth_id'],
      name = data['name'],
      email_address=data['email'],
      password_raw=data['password'],
      lang=data['lang'],
      role=data['role'],
      country=data['country']
    )

    if not user_data[0]:
      self.SendError(
        "DuplicatedError",
        401,
        user_data[1],
        'Unable to create user for email %s because of duplicate keys %s' % (data['auth_id'], user_data[1])
      )
      return
    
    user = user_data[1]
    user_id = user.get_id()

    token = User.create_signup_token(user_id)

    verification_url = self.uri_for('UserVerification', type='v', user_id=user_id, signup_token=token, _full=True)

    msg = 'Send an email to user in order to verify their address. \
          They will be able to do so by visiting <a href="{url}">{url}</a>'
    self.SendJson(msg.format(url=verification_url))