)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4039828121e25768bc2bd504714b2b2336dc9bc7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"six.iteritems to achieve iterators. We can"},{"line_number":11,"context_line":"use dict.items instead, as it will return"},{"line_number":12,"context_line":"iterators in PY3 as well. And dict.items/keys"},{"line_number":13,"context_line":"will more readable. 2.In py2, the performance"},{"line_number":14,"context_line":"about list should be negligible, see the link [2]."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://wiki.openstack.org/wiki/Python3#Common_patterns"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bf659307_40404936","line":13,"updated":"2018-03-25 21:17:27.000000000","message":"Could you wrap lines before \"2.\"?\nYou describe the reasons using ordered list, so you should wrap lines for readability.","commit_id":"72b8803e7ee6b9f674701c33be37085aa43378a8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4039828121e25768bc2bd504714b2b2336dc9bc7","unresolved":false,"context_lines":[{"line_number":12,"context_line":"iterators in PY3 as well. And dict.items/keys"},{"line_number":13,"context_line":"will more readable. 2.In py2, the performance"},{"line_number":14,"context_line":"about list should be negligible, see the link [2]."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://wiki.openstack.org/wiki/Python3#Common_patterns"},{"line_number":17,"context_line":"[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bf659307_603d4dba","line":15,"updated":"2018-03-25 21:17:27.000000000","message":"BTW, no hacking check for this?","commit_id":"72b8803e7ee6b9f674701c33be37085aa43378a8"}],"HACKING.rst":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"52ab7ad8bea4f9ec53a81abeee75b30f2fd141dc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"OpenStackClient strives to be Python 3.3 compatible.  Common guidelines:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Convert print statements to functions: print statements should be converted"},{"line_number":95,"context_line":"  to an appropriate log or other output mechanism."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Running Tests"},{"line_number":98,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df140735_1a59d4fc","line":95,"updated":"2017-06-05 06:32:28.000000000","message":"I prefer to items() over six.iteritems().\nCould you document this rather than just dropping six.iteritems()?","commit_id":"c328700bcaa99c8e55e6400e6f53f6ea5397208e"}],"osc_lib/tests/fakes.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4039828121e25768bc2bd504714b2b2336dc9bc7","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        self._loaded \u003d loaded"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def _add_details(self, info):"},{"line_number":168,"context_line":"        for (k, v) in info.items():"},{"line_number":169,"context_line":"            setattr(self, k, v)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def _add_methods(self, methods):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_004a5154","line":168,"updated":"2018-03-25 21:17:27.000000000","message":"no parentheses around k, v are unnecessary.","commit_id":"72b8803e7ee6b9f674701c33be37085aa43378a8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4039828121e25768bc2bd504714b2b2336dc9bc7","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        @value. When users access the attribute with (), @value will be"},{"line_number":177,"context_line":"        returned, which looks like a function call."},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        for (name, ret) in methods.items():"},{"line_number":180,"context_line":"            method \u003d mock.MagicMock(return_value\u003dret)"},{"line_number":181,"context_line":"            setattr(self, name, method)"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_2047554e","line":179,"updated":"2018-03-25 21:17:27.000000000","message":"no parentheses around name, ret are unnecessary.","commit_id":"72b8803e7ee6b9f674701c33be37085aa43378a8"}]}
