)]}'
{"oslo_serialization/serializer/base_serializer.py":[{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"b2a2e9acca2d4c9b3e7596936e8dc718c16713a3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"Generic (de-)serialization definition abstract base class.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @abc.abstractmethod"},{"line_number":29,"context_line":"    def dump(self, obj, fp, **kwargs):"},{"line_number":30,"context_line":"        \"\"\"Serialize ``obj`` as a stream to ``fp``."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        :param obj: python object to be serialized"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_6bc1a92e","line":29,"updated":"2016-04-04 09:18:20.000000000","message":"we don\u0027t need kwargs in these interface. We should be able to change serializer and don\u0027t break application.","commit_id":"f6a2ae26e89428a682e08738f5741e10bf709a4e"}],"oslo_serialization/serializers.py":[{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"c6811740c085aa98e2082ba0af67d04c96a72dd5","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":28,"context_line":"class BaseSerializer(object):"},{"line_number":29,"context_line":"    \"\"\"Generic (de-)serialization definition abstract base class.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"da0c15f0_8fc95b7b","line":28,"range":{"start_line":28,"start_character":6,"end_line":28,"end_character":20},"updated":"2016-03-27 11:54:55.000000000","message":"I suggest to create new module serialiser and implement each serialiser in new nested module","commit_id":"c8f968ec940a2da04c69505acbb62f981d284559"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"c6811740c085aa98e2082ba0af67d04c96a72dd5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @abc.abstractmethod"},{"line_number":40,"context_line":"    def dumps(self, obj):"},{"line_number":41,"context_line":"        \"\"\"Serialize ``obj`` to a byte string."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        :param obj: python object to be serialized"}],"source_content_type":"text/x-python","patch_set":3,"id":"da0c15f0_4f7d831b","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":13},"updated":"2016-03-27 11:54:55.000000000","message":"serialisers should provide conversion from bytes to dictionary and back. Therefore I think dumps is not good naming. I suggest \u0027dump\u0027, \u0027dump_as_bytes\u0027 and \u0027load\u0027, load_from_bytes would be better. \u0027loads\u0027 and \u0027dumps\u0027 looks strange in context of serialisation","commit_id":"c8f968ec940a2da04c69505acbb62f981d284559"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"c6811740c085aa98e2082ba0af67d04c96a72dd5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class JSONSerializer(BaseSerializer):"},{"line_number":65,"context_line":"    \"\"\"JSON serializer based on the jsonutils module.\"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def dump(self, obj, fp):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da0c15f0_cfb6b3db","line":64,"range":{"start_line":64,"start_character":6,"end_line":64,"end_character":20},"updated":"2016-03-27 11:54:55.000000000","message":"serialisers may have options, like encoding, it is necessary to provide all possibilities of serialisers to target client. It would be  reasonable to set such options via __init__ method to keep serialiser\u0027s interface","commit_id":"c8f968ec940a2da04c69505acbb62f981d284559"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"c6811740c085aa98e2082ba0af67d04c96a72dd5","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        return msgpackutils.loads(s)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"_IMPLEMENTED_SERIALIZERS \u003d {"},{"line_number":97,"context_line":"    \"json\": JSONSerializer,"},{"line_number":98,"context_line":"    \"msgpack\": MessagePackSerializer,"},{"line_number":99,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":3,"id":"da0c15f0_0fe8abb3","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":24},"updated":"2016-03-27 11:54:55.000000000","message":"I think create a registry of serialisers is not really needed here. It is better to create it in client application depending of application needs. For example it could be created just in setup.conf file.","commit_id":"c8f968ec940a2da04c69505acbb62f981d284559"}]}
