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)
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))