)]}'
{"designate/notifications.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        for arg in arglist:"},{"line_number":154,"context_line":"            if isinstance(arg, (objects.DesignateObject,"},{"line_number":155,"context_line":"                                objects.DesignateObject)):"},{"line_number":156,"context_line":"                for change in arg.obj_what_changed():"},{"line_number":157,"context_line":"                    if change !\u003d \u0027records\u0027:"},{"line_number":158,"context_line":"                        old_value \u003d arg.obj_get_original_value(change)"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_e80ccc95","line":155,"updated":"2017-12-14 17:36:08.000000000","message":"Why are we checking for the same type twice?","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"bd332702e66a14a16a021c6c35a9a269cb47d87b","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        for arg in arglist:"},{"line_number":154,"context_line":"            if isinstance(arg, (objects.DesignateObject,"},{"line_number":155,"context_line":"                                objects.DesignateObject)):"},{"line_number":156,"context_line":"                for change in arg.obj_what_changed():"},{"line_number":157,"context_line":"                    if change !\u003d \u0027records\u0027:"},{"line_number":158,"context_line":"                        old_value \u003d arg.obj_get_original_value(change)"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_57e3b9d9","line":155,"in_reply_to":"df87a7cf_e80ccc95","updated":"2017-12-19 07:56:43.000000000","message":"Oops, my bad, I\u0027m switching to all of objects to OVO.","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"}],"designate/objects/adapters/api_v2/base.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from designate.objects.adapters import base"},{"line_number":18,"context_line":"# from designate.objects import base as obj_base"},{"line_number":19,"context_line":"from designate.objects import base as ovoobj_base"},{"line_number":20,"context_line":"from designate import exceptions"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_884420b9","line":18,"updated":"2017-12-14 17:36:08.000000000","message":"can we remove this line, not comment it?","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"bd332702e66a14a16a021c6c35a9a269cb47d87b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from designate.objects.adapters import base"},{"line_number":18,"context_line":"# from designate.objects import base as obj_base"},{"line_number":19,"context_line":"from designate.objects import base as ovoobj_base"},{"line_number":20,"context_line":"from designate import exceptions"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_17e9b1b5","line":18,"in_reply_to":"df87a7cf_884420b9","updated":"2017-12-19 07:56:43.000000000","message":"Done.","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"}],"designate/objects/adapters/api_v2/validation_error.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Check if the object is a list - lists will just have an index as a"},{"line_number":80,"context_line":"        # value, ands this can\u0027t be renamed"},{"line_number":81,"context_line":"        if issubclass(obj_adapter.ADAPTER_OBJECT,"},{"line_number":82,"context_line":"                      (objects.ListObjectMixin, objects.ListObjectMixin)):"},{"line_number":83,"context_line":"            obj_adapter \u003d cls.get_object_adapter("},{"line_number":84,"context_line":"                cls.ADAPTER_FORMAT,"},{"line_number":85,"context_line":"                obj_adapter.ADAPTER_OBJECT.LIST_ITEM_TYPE.obj_name())"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_c8230805","line":82,"updated":"2017-12-14 17:36:08.000000000","message":"same type?","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"bd332702e66a14a16a021c6c35a9a269cb47d87b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Check if the object is a list - lists will just have an index as a"},{"line_number":80,"context_line":"        # value, ands this can\u0027t be renamed"},{"line_number":81,"context_line":"        if issubclass(obj_adapter.ADAPTER_OBJECT,"},{"line_number":82,"context_line":"                      (objects.ListObjectMixin, objects.ListObjectMixin)):"},{"line_number":83,"context_line":"            obj_adapter \u003d cls.get_object_adapter("},{"line_number":84,"context_line":"                cls.ADAPTER_FORMAT,"},{"line_number":85,"context_line":"                obj_adapter.ADAPTER_OBJECT.LIST_ITEM_TYPE.obj_name())"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_b7d1e5fd","line":82,"in_reply_to":"df87a7cf_c8230805","updated":"2017-12-19 07:56:43.000000000","message":"Done.","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"}],"designate/objects/base.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017 Fujitsu Vietnam Ltd."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_081250b2","line":1,"updated":"2017-12-14 17:36:08.000000000","message":"NIT: We should leave the original copyright, and append the fujitsu one","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"bd332702e66a14a16a021c6c35a9a269cb47d87b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017 Fujitsu Vietnam Ltd."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_97d4e1ea","line":1,"in_reply_to":"df87a7cf_081250b2","updated":"2017-12-19 07:56:43.000000000","message":"Thanks, done!","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":418,"context_line":"    \"\"\""},{"line_number":419,"context_line":"    Mixin class for \"Attribute\" objects."},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"    Attribute objects are ListObjects, who\u0027s memebers have a \"key\" and \"value\""},{"line_number":422,"context_line":"    property, which should be exposed on the list itself as list.\u003ckey\u003e."},{"line_number":423,"context_line":"    \"\"\""},{"line_number":424,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_a826c415","line":421,"updated":"2017-12-14 17:36:08.000000000","message":"NIT: typo added","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"eb928a573eab194933e30f0b551429e9d83f6c97","unresolved":false,"context_lines":[{"line_number":517,"context_line":"                except Exception:"},{"line_number":518,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":519,"context_line":"                        attr \u003d \"%s.%s\" % (self.obj_name(), name)"},{"line_number":520,"context_line":"                        LOG.exception(_LE(\u0027Error setting %(attr)s\u0027),"},{"line_number":521,"context_line":"                                      {\u0027attr\u0027: attr})"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"            setattr(cls, name, property(getter, setter, attr.fdel))"}],"source_content_type":"text/x-python","patch_set":24,"id":"3fa0c359_0b2ac62a","line":520,"updated":"2018-02-12 21:45:20.000000000","message":"Logs are no longer supposed to be translated right? _LE.\n\nAlso, might be worth to just do \n\u003e LOG.exception(\u0027Error setting %s.%s\u0027, self.obj_name(), name)\n\nNot sure if I like re-using an existing variable attr.","commit_id":"cc980d4539a77bb96cc284cdfc0173d151087126"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"efa2db98cb9314fcd5a36eb3dd5d0487dea85fae","unresolved":false,"context_lines":[{"line_number":517,"context_line":"                except Exception:"},{"line_number":518,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":519,"context_line":"                        attr \u003d \"%s.%s\" % (self.obj_name(), name)"},{"line_number":520,"context_line":"                        LOG.exception(_LE(\u0027Error setting %(attr)s\u0027),"},{"line_number":521,"context_line":"                                      {\u0027attr\u0027: attr})"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"            setattr(cls, name, property(getter, setter, attr.fdel))"}],"source_content_type":"text/x-python","patch_set":24,"id":"3fa0c359_daa474a8","line":520,"in_reply_to":"3fa0c359_0b2ac62a","updated":"2018-02-26 00:08:20.000000000","message":"Yep - good call.","commit_id":"cc980d4539a77bb96cc284cdfc0173d151087126"}],"designate/objects/pool_also_notify.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"8093dca6696c782c29f9642dbd7c337e168fe716","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from designate.objects import base as base"},{"line_number":16,"context_line":"from designate.objects import fields"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa0c359_8f0c4543","line":15,"updated":"2018-02-15 17:26:41.000000000","message":"\u003e base as base","commit_id":"fa792210ddb505991024b31f53e6bfc49f7665b1"}],"designate/rpc.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"238bfb25ef86add3454e76dd7c17a01e0ef01411","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    def deserialize_entity(self, context, entity):"},{"line_number":133,"context_line":"        if isinstance(entity, dict) and \u0027designate_object.name\u0027 in entity:"},{"line_number":134,"context_line":"            if \u0027designate_object.version\u0027 in entity:"},{"line_number":135,"context_line":"                entity \u003d objects.DesignateObject.from_primitive(entity)"},{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                entity \u003d objects.DesignateObject.from_primitive(entity)"},{"line_number":138,"context_line":"        elif isinstance(entity, (tuple, list, set)):"}],"source_content_type":"text/x-python","patch_set":23,"id":"3fa0c359_eaa697ab","line":135,"updated":"2018-02-10 03:51:35.000000000","message":"Line 135 and 137 are identical now.\nWe can remove the if statement here.\n\u003e if \u0027designate_object.version\u0027 in entity:\nand just replace it with\n\u003e \u003e entity \u003d objects.DesignateObject.from_primitive(entity)","commit_id":"a1f063cc0c39213def39950ac4b4fde980b183ce"}],"designate/tests/unit/test_objects/test_base.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        with testtools.ExpectedException(NotImplementedError):"},{"line_number":186,"context_line":"            TestObject.from_list([])"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    # def test_get_schema(self):"},{"line_number":189,"context_line":"    #     obj \u003d TestValidatableObject()"},{"line_number":190,"context_line":"    #     obj.id \u003d \u0027ffded5c4-e4f6-4e02-a175-48e13c5c12a0\u0027"},{"line_number":191,"context_line":"    #     obj.validate()"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_281394ba","line":188,"updated":"2017-12-14 17:36:08.000000000","message":"Can we remove this code?","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"bd332702e66a14a16a021c6c35a9a269cb47d87b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        with testtools.ExpectedException(NotImplementedError):"},{"line_number":186,"context_line":"            TestObject.from_list([])"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    # def test_get_schema(self):"},{"line_number":189,"context_line":"    #     obj \u003d TestValidatableObject()"},{"line_number":190,"context_line":"    #     obj.id \u003d \u0027ffded5c4-e4f6-4e02-a175-48e13c5c12a0\u0027"},{"line_number":191,"context_line":"    #     obj.validate()"}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_570c19a4","line":188,"in_reply_to":"df87a7cf_281394ba","updated":"2017-12-19 07:56:43.000000000","message":"Done.","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"1689c9a4ba1b525f87e44fe769aab93bd5505086","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        obj \u003d TestObject(id\u003d1, name\u003d\u0027test\u0027)"},{"line_number":355,"context_line":"        with testtools.ExpectedException(AttributeError):"},{"line_number":356,"context_line":"            obj.update({\u0027id\u0027: \u0027new_id\u0027, \u0027new_key\u0027: 3})"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    def test_validate(self):"},{"line_number":359,"context_line":"        obj \u003d TestValidatableObject()"},{"line_number":360,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_481858d2","line":357,"updated":"2017-12-14 17:36:08.000000000","message":"Why did we remove these tests?","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"bd332702e66a14a16a021c6c35a9a269cb47d87b","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        obj \u003d TestObject(id\u003d1, name\u003d\u0027test\u0027)"},{"line_number":355,"context_line":"        with testtools.ExpectedException(AttributeError):"},{"line_number":356,"context_line":"            obj.update({\u0027id\u0027: \u0027new_id\u0027, \u0027new_key\u0027: 3})"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    def test_validate(self):"},{"line_number":359,"context_line":"        obj \u003d TestValidatableObject()"},{"line_number":360,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"df87a7cf_57f65965","line":357,"in_reply_to":"df87a7cf_481858d2","updated":"2017-12-19 07:56:43.000000000","message":"We no need to assign a value for an attribute to call validate() function as old Designate flow.\n\nFrom now, we will check values at any points (init, assign) with OVO to ensure we will not have invalid object any more.","commit_id":"2037c30fd2ab4de0ad5a11a420e168151e17a2c4"}]}
