)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"98834cd5d4e5fae25ef2ec0942125d636969f07d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Xinli Guan \u003cxinli@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-06 20:14:16 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Moving the OPTIONAL_FIELDS inside theOVO  object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In working patch 251989, Michal Dulko points out that"},{"line_number":10,"context_line":"all the OVOs should have OPTIONAL_FIELDS inside object."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_0f081cd9","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":42},"updated":"2016-07-07 15:22:54.000000000","message":"nit: Here\u0027s where the missing space before OVO went.  ;-)","commit_id":"55be85956b22b482282c4b383c8e76be73ec668e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"1cb75ed29124754dd479b32969b0d1ebd68db9ac","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Xinli Guan \u003cxinli@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-06 20:14:16 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Moving the OPTIONAL_FIELDS inside theOVO  object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In working patch 251989, Michal Dulko points out that"},{"line_number":10,"context_line":"all the OVOs should have OPTIONAL_FIELDS inside object."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_807a23bb","line":7,"range":{"start_line":7,"start_character":34,"end_line":7,"end_character":40},"updated":"2016-07-07 14:28:03.000000000","message":"nit: need a space between words","commit_id":"55be85956b22b482282c4b383c8e76be73ec668e"}],"cinder/objects/cgsnapshot.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"1cb75ed29124754dd479b32969b0d1ebd68db9ac","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \u0027snapshots\u0027: fields.ObjectField(\u0027SnapshotList\u0027, nullable\u003dTrue),"},{"line_number":41,"context_line":"    }"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @staticmethod"},{"line_number":44,"context_line":"    def _from_db_object(context, cgsnapshot, db_cgsnapshots,"},{"line_number":45,"context_line":"                        expected_attrs\u003dNone):"},{"line_number":46,"context_line":"        expected_attrs \u003d expected_attrs or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_c361d5d4","line":43,"range":{"start_line":43,"start_character":3,"end_line":43,"end_character":17},"updated":"2016-07-07 14:28:03.000000000","message":"Now that the OPTIONAL_FIELDS is part of the class definition, this should no longer be a staticmethod, but should be a classmethod. The parameters will need to be changed to prepend the \u0027cls\u0027 parameter at the beginning, and line 48 should be changed to read:\n\n    if name in cls.OPTIONAL_FIELDS:\n\n Let me know if this isn\u0027t clear.","commit_id":"55be85956b22b482282c4b383c8e76be73ec668e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"98834cd5d4e5fae25ef2ec0942125d636969f07d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \u0027snapshots\u0027: fields.ObjectField(\u0027SnapshotList\u0027, nullable\u003dTrue),"},{"line_number":41,"context_line":"    }"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @staticmethod"},{"line_number":44,"context_line":"    def _from_db_object(context, cgsnapshot, db_cgsnapshots,"},{"line_number":45,"context_line":"                        expected_attrs\u003dNone):"},{"line_number":46,"context_line":"        expected_attrs \u003d expected_attrs or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_2f435814","line":43,"range":{"start_line":43,"start_character":3,"end_line":43,"end_character":17},"in_reply_to":"1aa78d24_c361d5d4","updated":"2016-07-07 15:22:54.000000000","message":"-1: I agree","commit_id":"55be85956b22b482282c4b383c8e76be73ec668e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"1cb75ed29124754dd479b32969b0d1ebd68db9ac","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        self._from_db_object(self._context, self, db_cgsnapshots)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def obj_load_attr(self, attrname):"},{"line_number":85,"context_line":"        if attrname not in CGSnapshot.OPTIONAL_FIELDS:"},{"line_number":86,"context_line":"            raise exception.ObjectActionError("},{"line_number":87,"context_line":"                action\u003d\u0027obj_load_attr\u0027,"},{"line_number":88,"context_line":"                reason\u003d_(\u0027attribute %s not lazy-loadable\u0027) % attrname)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_83e06d2a","line":85,"range":{"start_line":85,"start_character":27,"end_line":85,"end_character":37},"updated":"2016-07-07 14:28:03.000000000","message":"This should be changed to \u0027self\u0027, since we already have that in scope.","commit_id":"55be85956b22b482282c4b383c8e76be73ec668e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"98834cd5d4e5fae25ef2ec0942125d636969f07d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        self._from_db_object(self._context, self, db_cgsnapshots)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def obj_load_attr(self, attrname):"},{"line_number":85,"context_line":"        if attrname not in CGSnapshot.OPTIONAL_FIELDS:"},{"line_number":86,"context_line":"            raise exception.ObjectActionError("},{"line_number":87,"context_line":"                action\u003d\u0027obj_load_attr\u0027,"},{"line_number":88,"context_line":"                reason\u003d_(\u0027attribute %s not lazy-loadable\u0027) % attrname)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_ef6310af","line":85,"range":{"start_line":85,"start_character":27,"end_line":85,"end_character":37},"in_reply_to":"1aa78d24_83e06d2a","updated":"2016-07-07 15:22:54.000000000","message":"nit: Yep, that\u0027s always cleaner","commit_id":"55be85956b22b482282c4b383c8e76be73ec668e"}]}
