)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"dictionary keys."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch added NotImplemented exception to specific `dict` methods"},{"line_number":15,"context_line":"and added test `dict` syntax type error."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ib8662dd9950d5745dd390127b6954dd06c004eab"},{"line_number":18,"context_line":"Closes-Bug: #1256260"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BLdY%3D","line":15,"updated":"2014-01-29 11:51:06.000000000","message":"Pls add an explanation that we don\u0027t actually remove the interface due to its presence in Oslo.","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"dictionary keys."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch added NotImplemented exception to specific `dict` methods"},{"line_number":15,"context_line":"and added test `dict` syntax type error."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ib8662dd9950d5745dd390127b6954dd06c004eab"},{"line_number":18,"context_line":"Closes-Bug: #1256260"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BKLk%3D","line":15,"in_reply_to":"AAAAUH%2F%2BLdY%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"8ecaa8b225a1db6b0a74b21fe65d2a5a8acc7442","unresolved":false,"context_lines":[{"line_number":14,"context_line":"We don\u0027t actually remove the interface due to it\u0027s presence in Oslo"},{"line_number":15,"context_line":"and we hide dict interface from the objects since it has been"},{"line_number":16,"context_line":"deprecated.This patch added TypeError to specific `dict` methods and"},{"line_number":17,"context_line":"added test `dict` syntax TypeError."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib8662dd9950d5745dd390127b6954dd06c004eab"},{"line_number":20,"context_line":"Closes-Bug: #1256260"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"AAAAUX%2F%2FeM4%3D","line":17,"updated":"2014-02-12 23:34:23.000000000","message":"As per our latests discussion it appeared that there are no UOM classes in Oslo at all. So this message should be updated to reflect this - e.g. since Oslo might introduce UOM in future together with this methods...","commit_id":"877dadbcba61f1b88eaaa4c7adb1fb84a17bdc65"}],"ironic/objects/base.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9e470b1ea5176422d2bd257359e27dfef049500f","unresolved":false,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    items \u003d lambda self: list(self.iteritems())"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def __getitem__(self, name):"},{"line_number":347,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        NOTE(danms): May be removed in the future."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Fq6A%3D","side":"PARENT","line":346,"updated":"2014-01-09 20:12:42.000000000","message":"I\u0027m not comfortable with removing part of the functionality of a dict-like object. Seems like we should either remove it all, or leave it all in. Having something behave \"partly\" like a dict seems very confusing.","commit_id":"457d03282a4764ad3d9ba242f855fe4dc51dd564"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    def __getitem__(self, name):"},{"line_number":347,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":350,"context_line":"        \"\"\""},{"line_number":351,"context_line":"        raise NotImplemented(\"Dict interface has been deprecated\")"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BLcs%3D","line":349,"updated":"2014-01-29 11:51:06.000000000","message":"\"\"\"For future compatibility with Oslo object model. Hides dict interface from the objects since it has been deprecated.\"\"\" And we can remove Note","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    def __getitem__(self, name):"},{"line_number":347,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":350,"context_line":"        \"\"\""},{"line_number":351,"context_line":"        raise NotImplemented(\"Dict interface has been deprecated\")"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BKLs%3D","line":349,"in_reply_to":"AAAAUH%2F%2BLcs%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    def __setitem__(self, name, value):"},{"line_number":354,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":357,"context_line":"        \"\"\""},{"line_number":358,"context_line":"        raise NotImplemented(\"Dict interface has been deprecated\")"},{"line_number":359,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BLco%3D","line":356,"updated":"2014-01-29 11:51:06.000000000","message":"ditto","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    def __setitem__(self, name, value):"},{"line_number":354,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":357,"context_line":"        \"\"\""},{"line_number":358,"context_line":"        raise NotImplemented(\"Dict interface has been deprecated\")"},{"line_number":359,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BKLo%3D","line":356,"in_reply_to":"AAAAUH%2F%2BLco%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"48b6463acd0c5b42dde8577b9699a0d9e0253b20","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        \"\"\"For future compatibility with Oslo object model."},{"line_number":348,"context_line":"        Hides dict interface from the objects since it has been deprecated."},{"line_number":349,"context_line":"        \"\"\""},{"line_number":350,"context_line":"        raise NotImplementedError(\"Dict interface has been deprecated\")"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def __setitem__(self, name, value):"},{"line_number":353,"context_line":"        \"\"\"For future compatibility with Oslo object model."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2Fs6s%3D","line":350,"updated":"2014-02-11 11:20:25.000000000","message":"It looks a bit odd to raise NotImplementedError for a deprecated method. Yesterday it was discussed in IRC and we agreed that TypeError would suit better for this case, so please change it to raise TypeError instead.\n\nsame for the __setitem__()","commit_id":"cbd2fe44deb261db3318685f422a0bd843fc38d9"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"27a2c589d11f0989f47f0279a2cf87eddc5edacc","unresolved":false,"context_lines":[{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":362,"context_line":"        \"\"\""},{"line_number":363,"context_line":"        return hasattr(self, get_attrname(name))"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    def get(self, key, value\u003dNone):"},{"line_number":366,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FybU%3D","line":363,"updated":"2014-02-10 20:10:52.000000000","message":"This will need to be changed to raise NotImplementedError as well, because it\u0027s a part of dict face too.","commit_id":"cbd2fe44deb261db3318685f422a0bd843fc38d9"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7feeb16f12d0b9d6b0eb7f7dea80a73249adefb0","unresolved":false,"context_lines":[{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":362,"context_line":"        \"\"\""},{"line_number":363,"context_line":"        return hasattr(self, get_attrname(name))"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    def get(self, key, value\u003dNone):"},{"line_number":366,"context_line":"        \"\"\"For backwards-compatibility with dict-based objects."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FyYo%3D","line":363,"in_reply_to":"AAAAUX%2F%2FybU%3D","updated":"2014-02-10 20:17:12.000000000","message":"As per discussion in IRC, decided to change this to TypeError. Please update the usages above as well","commit_id":"cbd2fe44deb261db3318685f422a0bd843fc38d9"}],"ironic/tests/objects/test_objects.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9e470b1ea5176422d2bd257359e27dfef049500f","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            obj.foo \u003d \u0027a\u0027"},{"line_number":288,"context_line":"        self.assertRaises(ValueError, fail)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def test_object_dict_syntax_type_error(self):"},{"line_number":291,"context_line":"        obj \u003d MyObj()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Fq6U%3D","line":290,"updated":"2014-01-09 20:12:42.000000000","message":"I guess this is more like \u0027test_object_dict_key_index_operator_unavail()? (I\u0027m not quite sure what the right terminology is for the [] operator.)","commit_id":"3da5f699c7ce8a1a2ab783710cef38ae2270e5df"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9e470b1ea5176422d2bd257359e27dfef049500f","unresolved":false,"context_lines":[{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def test_object_syntax(self):"},{"line_number":298,"context_line":"        obj \u003d MyObj()"},{"line_number":299,"context_line":"        obj.foo \u003d 123"},{"line_number":300,"context_line":"        obj.bar \u003d \u0027bar\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Fq60%3D","line":297,"updated":"2014-01-09 20:12:42.000000000","message":"Hmm. This test DOES test for dict-like syntax. The .items() and .iteritems() calls.","commit_id":"3da5f699c7ce8a1a2ab783710cef38ae2270e5df"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            obj.foo \u003d \u0027a\u0027"},{"line_number":288,"context_line":"        self.assertRaises(ValueError, fail)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def test_object_dict_key_index_operator_unavail(self):"},{"line_number":291,"context_line":"        obj \u003d MyObj()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BLa0%3D","line":290,"updated":"2014-01-29 11:51:06.000000000","message":"pls rename to test_setitem_deprecated","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            obj.foo \u003d \u0027a\u0027"},{"line_number":288,"context_line":"        self.assertRaises(ValueError, fail)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def test_object_dict_key_index_operator_unavail(self):"},{"line_number":291,"context_line":"        obj \u003d MyObj()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BKoI%3D","line":290,"in_reply_to":"AAAAUH%2F%2BLa0%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def test_object_dict_key_index_operator_unavail(self):"},{"line_number":291,"context_line":"        obj \u003d MyObj()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"},{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BLbg%3D","line":293,"updated":"2014-01-29 11:51:06.000000000","message":"pls rename to setitem_test","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def test_object_dict_key_index_operator_unavail(self):"},{"line_number":291,"context_line":"        obj \u003d MyObj()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"},{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BKV8%3D","line":293,"in_reply_to":"AAAAUH%2F%2BLbg%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"},{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def test_object_dict_syntax(self):"},{"line_number":298,"context_line":"        obj \u003d MyObj()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BLbM%3D","line":295,"updated":"2014-01-29 11:51:06.000000000","message":"It should raise NotImplemented right?","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        def fail():"},{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def test_object_dict_syntax(self):"},{"line_number":298,"context_line":"        obj \u003d MyObj()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BKWA%3D","line":295,"in_reply_to":"AAAAUH%2F%2BLbM%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"7c9685cda9f29bc00cfbc704600c3fea24672ed1","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        def fail():"},{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def test_object_dict_syntax(self):"},{"line_number":298,"context_line":"        obj \u003d MyObj()"},{"line_number":299,"context_line":"        obj.foo \u003d 123"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BLbk%3D","line":296,"updated":"2014-01-29 11:51:06.000000000","message":"This is for __setitem__. Please add one more test for __getitem__. e.g.\n\ndef getitem_test():\n     val \u003d obj[\u0027foo\u0027]\nself.assertRaises(TypeError, getitem_test)","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"0a30566bae0389b00abb3bce5a60e662fb35e6d8","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        def fail():"},{"line_number":294,"context_line":"            obj[\u0027foo\u0027] \u003d 123"},{"line_number":295,"context_line":"        self.assertRaises(TypeError, fail)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def test_object_dict_syntax(self):"},{"line_number":298,"context_line":"        obj \u003d MyObj()"},{"line_number":299,"context_line":"        obj.foo \u003d 123"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BKWE%3D","line":296,"in_reply_to":"AAAAUH%2F%2BLbk%3D","updated":"2014-01-29 15:55:42.000000000","message":"Done","commit_id":"7053473b0fff9396b90726d3e8dfa77c8fcbb3e5"}]}
