def post(self): if self.request.get('_put'): self.put() return name = self.request.get('name') email = self.request.get('email') push_token = self.request.get('token') device_type = self.request.get('type') if not push_token or not device_type: api.write_error(self.response, 400, 'Missing required parameter, token or type') return user = User(uuid=str(uuid.uuid4()), auth=str(uuid.uuid4())) if name: user.name = name update_gender(user) if email: user.devices.append(Device(device_type='EMAIL', data=email)) user.devices.append(Device(device_type=device_type.upper(), data=push_token)) user.put() update_user_cards(user) api.search.update_public_index(user) api.write_message(self.response, 'success', extra={'users' : [get_user_json(user, public=False)]})