def __jsonify__(self, *extra_fields): """Serialize model to JSON that can be viewed by client. Used by halo.endpoints.util.jsonify(). """ extra_fields = [field for field in safe_fields if hasattr(self, field)] s = Serializer() return s.serialize_object(self, fields={self.__class__: extra_fields})
def upload_photo(): """ Upload a photo, bypassing the API for cleaner invocation. """ data = request.form # Create a new photo. photo = { 'credit': data.get('credit', ''), 'caption': data.get('caption', ''), 'file_name': data.get('file_name', ''), } photo = models.Photo(**photo) # Get the data. if data.get('file_string', None): photo.write_photo(data['file_string']) # Do the save. photo.save() # Return data. serializer = Serializer() data = serializer.serialize_object(photo) return jsonify(data)
def upload_photo(): """ Upload a photo, bypassing the API for cleaner invocation. """ data = request.form # Create a new photo. photo = { 'credit': data.get('credit', ''), 'caption': data.get('caption', ''), 'file_name': data.get('file_name', ''), } photo = models.Photo(**photo) # Get the data. if data.get('file_string', None): photo.write_photo(data['file_string']) # Do the save. photo.save() # Return data. serializer = Serializer() data = serializer.serialize_object(photo) return jsonify(data)
def __jsonify__(self, *extra_fields): """Serialize model to JSON that can be viewed by client. Used by jsonify() """ safe_fields = ['id', 'service', 'profile'] + list(extra_fields) safe_fields = [field for field in safe_fields if hasattr(self, field)] s = Serializer() return s.serialize_object(self, fields={self.__class__: safe_fields})
def update_photo_credit(): """ Update a photo, bypassing the API for cleaner invocation. """ data = request.form # Get the photo. photo = models.Photo.get(models.Photo.id == int(data['id'])) photo.credit = data.get('credit', None) # Do the save. photo.save() # Return data. serializer = Serializer() data = serializer.serialize_object(photo) return jsonify(data)
def update_photo_credit(): """ Update a photo, bypassing the API for cleaner invocation. """ data = request.form # Get the photo. photo = models.Photo.get(models.Photo.id == int(data['id'])) photo.credit = data.get('credit', None) # Do the save. photo.save() # Return data. serializer = Serializer() data = serializer.serialize_object(photo) return jsonify(data)
def upload_audio(): """ Upload some audio, bypassing the API for cleaner invocation. """ data = request.form audio = { 'credit': data.get('credit', ''), 'caption': data.get('caption', ''), 'file_name': data.get('file_name', ''), } # Create the model audio = models.Audio(**audio) audio.process_audio(data['file_string']) audio.save() serializer = Serializer() data = serializer.serialize_object(audio) return jsonify(data)
def upload_audio(): """ Upload some audio, bypassing the API for cleaner invocation. """ data = request.form audio = { 'credit': data.get('credit', ''), 'caption': data.get('caption', ''), 'file_name': data.get('file_name', ''), } # Create the model audio = models.Audio(**audio) audio.process_audio(data['file_string']) audio.save() serializer = Serializer() data = serializer.serialize_object(audio) return jsonify(data)
class SerializerTestCase(FlaskPeeweeTestCase): def setUp(self): super(SerializerTestCase, self).setUp() self.s = Serializer() self.d = Deserializer() def test_serializer(self): users = self.create_users() serialized = self.s.serialize_object(self.admin) self.assertEqual( serialized, { 'id': self.admin.id, 'username': '******', 'password': self.admin.password, 'join_date': self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'), 'active': True, 'admin': True, 'email': '', }) serialized = self.s.serialize_object(self.admin, fields={User: ['id', 'username']}) self.assertEqual(serialized, { 'id': self.admin.id, 'username': '******', }) serialized = self.s.serialize_object( self.admin, exclude={User: ['password', 'join_date']}) self.assertEqual( serialized, { 'id': self.admin.id, 'username': '******', 'active': True, 'admin': True, 'email': '', }) def test_deserializer(self): users = self.create_users() deserialized, models = self.d.deserialize_object( User(), { 'id': self.admin.id, 'username': '******', 'password': self.admin.password, 'join_date': self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'), 'active': True, 'admin': True, }) for attr in ['id', 'username', 'password', 'active', 'admin']: self.assertEqual( getattr(deserialized, attr), getattr(self.admin, attr), ) self.assertEqual( deserialized.join_date.strftime('%Y-%m-%d %H:%M:%S'), self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'), ) admin_pk = self.admin.id deserialized, models = self.d.deserialize_object( self.admin, { 'username': '******', 'active': False, 'admin': False, }) self.assertEqual(deserialized.username, 'edited') self.assertEqual(deserialized.admin, False) self.assertEqual(deserialized.active, False) self.assertEqual(deserialized.id, admin_pk) deserialized.save() self.assertEqual(User.select().count(), 3) edited = User.get(username='******') self.assertEqual(edited.id, admin_pk) def test_s_and_d(self): self.create_users() s = self.s.serialize_object(self.admin) d, model_list = self.d.deserialize_object(User(), s) self.assertEqual(d, self.admin)
class SerializerTestCase(FlaskPeeweeTestCase): def setUp(self): super(SerializerTestCase, self).setUp() self.s = Serializer() self.d = Deserializer() def test_serializer(self): users = self.create_users() serialized = self.s.serialize_object(self.admin) self.assertEqual(serialized, { 'id': self.admin.id, 'username': '******', 'password': self.admin.password, 'join_date': self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'), 'active': True, 'admin': True, 'email': '', }) serialized = self.s.serialize_object(self.admin, fields={User: ['id', 'username']}) self.assertEqual(serialized, { 'id': self.admin.id, 'username': '******', }) serialized = self.s.serialize_object(self.admin, exclude={User: ['password', 'join_date']}) self.assertEqual(serialized, { 'id': self.admin.id, 'username': '******', 'active': True, 'admin': True, 'email': '', }) def test_deserializer(self): users = self.create_users() deserialized, models = self.d.deserialize_object(User(), { 'id': self.admin.id, 'username': '******', 'password': self.admin.password, 'join_date': self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'), 'active': True, 'admin': True, }) for attr in ['id', 'username', 'password', 'active', 'admin']: self.assertEqual( getattr(deserialized, attr), getattr(self.admin, attr), ) self.assertEqual( deserialized.join_date.strftime('%Y-%m-%d %H:%M:%S'), self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'), ) admin_pk = self.admin.id deserialized, models = self.d.deserialize_object(self.admin, { 'username': '******', 'active': False, 'admin': False, }) self.assertEqual(deserialized.username, 'edited') self.assertEqual(deserialized.admin, False) self.assertEqual(deserialized.active, False) self.assertEqual(deserialized.id, admin_pk) deserialized.save() self.assertEqual(User.select().count(), 3) edited = User.get(username='******') self.assertEqual(edited.id, admin_pk) def test_s_and_d(self): self.create_users() s = self.s.serialize_object(self.admin) d, model_list = self.d.deserialize_object(User(), s) self.assertEqual(d, self.admin)
class SerializerTestCase(FlaskPeeweeTestCase): def setUp(self): super(SerializerTestCase, self).setUp() self.s = Serializer() self.ms = ModelSerializer() self.d = Deserializer() self.md = ModelDeserializer() def test_serializer(self): users = self.create_users() serialized = self.s.serialize_object(self.admin) self.assertEqual( serialized, { "id": self.admin.id, "username": "******", "password": self.admin.password, "join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"), "active": True, "admin": True, "email": "", }, ) serialized = self.s.serialize_object(self.admin, fields=("id", "username")) self.assertEqual(serialized, {"id": self.admin.id, "username": "******"}) serialized = self.s.serialize_object(self.admin, exclude=("password", "join_date")) self.assertEqual( serialized, {"id": self.admin.id, "username": "******", "active": True, "admin": True, "email": ""} ) def test_deserializer(self): users = self.create_users() deserialized = self.d.deserialize_object( { "id": self.admin.id, "username": "******", "password": self.admin.password, "join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"), "active": True, "admin": True, }, User(), ) for attr in ["id", "username", "password", "active", "admin"]: self.assertEqual(getattr(deserialized, attr), getattr(self.admin, attr)) self.assertEqual( deserialized.join_date.strftime("%Y-%m-%d %H:%M:%S"), self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S") ) admin_pk = self.admin.id deserialized = self.d.deserialize_object({"username": "******", "active": False, "admin": False}, self.admin) self.assertEqual(deserialized.username, "edited") self.assertEqual(deserialized.admin, False) self.assertEqual(deserialized.active, False) self.assertEqual(deserialized.id, admin_pk) deserialized.save() self.assertEqual(User.select().count(), 3) edited = User.get(username="******") self.assertEqual(edited.id, admin_pk) def test_model_serializer(self): users = self.create_users() serialized = self.ms.serialize_object(self.admin) self.assertEqual( serialized, { "__model__": "User", "__module__": "flask_peewee.tests.test_app", "id": self.admin.id, "username": "******", "password": self.admin.password, "join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"), "active": True, "admin": True, "email": "", }, ) serialized = self.ms.serialize_object(self.admin, fields=("id", "username")) self.assertEqual( serialized, { "__model__": "User", "__module__": "flask_peewee.tests.test_app", "id": self.admin.id, "username": "******", }, ) def test_model_deserializer(self): users = self.create_users() deserialized = self.md.deserialize_object( { "__model__": "User", "__module__": "flask_peewee.tests.test_app", "id": self.admin.id, "username": "******", "password": self.admin.password, "join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"), "active": True, "admin": True, } ) for attr in ["id", "username", "password", "active", "admin"]: self.assertEqual(getattr(deserialized, attr), getattr(self.admin, attr)) self.assertEqual( deserialized.join_date.strftime("%Y-%m-%d %H:%M:%S"), self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S") ) admin_pk = self.admin.id deserialized = self.md.deserialize_object( { "__model__": "User", "__module__": "flask_peewee.tests.test_app", "username": "******", "active": False, "admin": False, }, self.admin, ) self.assertEqual(deserialized.username, "edited") self.assertEqual(deserialized.admin, False) self.assertEqual(deserialized.active, False) self.assertEqual(deserialized.id, admin_pk) deserialized.save() self.assertEqual(User.select().count(), 3) edited = User.get(username="******") self.assertEqual(edited.id, admin_pk) def test_s_and_d(self): self.create_users() s = self.s.serialize_object(self.admin) d = self.d.deserialize_object(s, User()) self.assertEqual(d, self.admin) s = self.ms.serialize_object(self.admin) d = self.md.deserialize_object(s) self.assertEqual(d, self.admin)
class SerializerTestCase(FlaskPeeweeTestCase): def setUp(self): super(SerializerTestCase, self).setUp() self.s = Serializer() self.d = Deserializer() def test_serializer(self): users = self.create_users() serialized = self.s.serialize_object(self.admin) self.assertEqual( serialized, { "id": self.admin.id, "username": "******", "password": self.admin.password, "join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"), "active": True, "admin": True, "email": "", }, ) serialized = self.s.serialize_object(self.admin, fields={User: ["id", "username"]}) self.assertEqual(serialized, {"id": self.admin.id, "username": "******"}) serialized = self.s.serialize_object(self.admin, exclude={User: ["password", "join_date"]}) self.assertEqual( serialized, {"id": self.admin.id, "username": "******", "active": True, "admin": True, "email": ""} ) def test_deserializer(self): users = self.create_users() deserialized, models = self.d.deserialize_object( User(), { "id": self.admin.id, "username": "******", "password": self.admin.password, "join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"), "active": True, "admin": True, }, ) for attr in ["id", "username", "password", "active", "admin"]: self.assertEqual(getattr(deserialized, attr), getattr(self.admin, attr)) self.assertEqual( deserialized.join_date.strftime("%Y-%m-%d %H:%M:%S"), self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S") ) admin_pk = self.admin.id deserialized, models = self.d.deserialize_object( self.admin, {"username": "******", "active": False, "admin": False} ) self.assertEqual(deserialized.username, "edited") self.assertEqual(deserialized.admin, False) self.assertEqual(deserialized.active, False) self.assertEqual(deserialized.id, admin_pk) deserialized.save() self.assertEqual(User.select().count(), 3) edited = User.get(username="******") self.assertEqual(edited.id, admin_pk) def test_s_and_d(self): self.create_users() s = self.s.serialize_object(self.admin) d, model_list = self.d.deserialize_object(User(), s) self.assertEqual(d, self.admin)