)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5f1fc9974424736f1f31d994b05e5c97809cd987","unresolved":false,"context_lines":[{"line_number":12,"context_line":"keystoneclient/tests/test_shell.py, which cannot detected by hacking"},{"line_number":13,"context_line":"rule check, then it fails for rule F821."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch removes unused global variables assert_called and"},{"line_number":16,"context_line":"assert_called_anytime, removes temporary global variable _shell,"},{"line_number":17,"context_line":"change global lambda shell to a helper function."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3a961159_09fc1eb5","line":15,"updated":"2015-01-19 14:55:35.000000000","message":"update the commit message","commit_id":"446cc0b9dc9afb87979d4e1b86f610d01abeef67"}],"keystoneclient/tests/test_shell.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"639325d622b2f87fc6b13a6e84bf8e3c3ffb7fb9","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Make a fake shell object, a helping wrapper to call it"},{"line_number":40,"context_line":"SHELL \u003d lambda cmd: openstack_shell.OpenStackIdentityShell().main(cmd.split())"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class NoExitArgumentParser(argparse.ArgumentParser):"},{"line_number":44,"context_line":"    def error(self, message):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_0e176ba4","line":41,"updated":"2014-12-10 06:34:24.000000000","message":"i\u0027d prefer you just make a regular function rather than using the lambda. Took me a couple of attempts to grok. Uppercase SHELL implies a constant, this isn\u0027t keep it lowercase.","commit_id":"4af7d8bbac8ddb5e9e0006553f519d84eef8c33f"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"7839b4e32c7336649d2871ff3dbfd2b93f0df893","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Make a fake shell object, a helping wrapper to call it"},{"line_number":40,"context_line":"SHELL \u003d lambda cmd: openstack_shell.OpenStackIdentityShell().main(cmd.split())"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class NoExitArgumentParser(argparse.ArgumentParser):"},{"line_number":44,"context_line":"    def error(self, message):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_8f9432e3","line":41,"in_reply_to":"3a961159_0e176ba4","updated":"2014-12-10 10:31:24.000000000","message":"++\nLooks like a function and used like a function.","commit_id":"4af7d8bbac8ddb5e9e0006553f519d84eef8c33f"}],"keystoneclient/tests/v2_0/test_shell.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"639325d622b2f87fc6b13a6e84bf8e3c3ffb7fb9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_8e3b5b37","line":17,"updated":"2014-12-10 06:34:24.000000000","message":"unrelated?\n\nugh - on second look something seems really broken here that this isn\u0027t being discovered.","commit_id":"4af7d8bbac8ddb5e9e0006553f519d84eef8c33f"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"9d24d0073a92a474160af43ea55498eb31e45671","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_5df599c9","line":17,"in_reply_to":"3a961159_8e3b5b37","updated":"2014-12-10 17:45:42.000000000","message":"this is a F821 issue, which is found after enable it, so we should either import this module, or remove the unused code L390-L395, which one is preferred by keystoneclient?","commit_id":"4af7d8bbac8ddb5e9e0006553f519d84eef8c33f"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"c8a628cb41bcb75e507613418ec01a233b1878d9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_24cb5154","line":17,"updated":"2014-12-10 17:21:42.000000000","message":"Could you please describe why this is required and how this worked before?\n\nI\u0027d also suggest you to move this change to a separate commit and make a test for it.","commit_id":"21b09159e68306b3d5a5c516e1604a66165eae7e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"25fc1f4779b6627747ecad40e44d83077c796120","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_778c2980","line":17,"in_reply_to":"3a961159_24cb5154","updated":"2014-12-10 18:01:07.000000000","message":"It\u0027s required now because the hacking check that was enabled will look for errors in the code where something is used before it is defined.\n\nThis does highlight a bigger question: why is this code here if it isn\u0027t being used? I would love to see it removed in a different commit.","commit_id":"21b09159e68306b3d5a5c516e1604a66165eae7e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"37039a680035cd82ad4be18e70958aec4a97cd86","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_17cf6580","line":17,"in_reply_to":"3a961159_24cb5154","updated":"2014-12-10 17:43:06.000000000","message":"you can just try this: remove this line, enable F821, and run tox -epep8, to see what will happen\n\nSeems the previous sentence with a bit anger (for reviewer just say without do or think), so the explain is here:\n\nSince F821 is ignored, then pep8 will not check L392 for undefined name, and we never pass value not None to the json param, so that part of code has never been run, then CI reports OK, while something not so good still lies there","commit_id":"21b09159e68306b3d5a5c516e1604a66165eae7e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"c4e455ab31d3c0637e8c09a5decb231eb8b31361","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_ee0dade9","line":17,"in_reply_to":"3a961159_3974b6fd","updated":"2015-01-14 06:47:46.000000000","message":"someone told me that keystoneclient will not be maintained, but I\u0027ll upload a new patch according to your comment, thanks","commit_id":"21b09159e68306b3d5a5c516e1604a66165eae7e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e8b3fe65a27ec541961153acc7e696c9955b523f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import sys"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo.serialization import jsonutils"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from testtools import matchers"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_3974b6fd","line":17,"in_reply_to":"3a961159_778c2980","updated":"2015-01-11 23:50:51.000000000","message":"Get rid of this and the useless code. See https://review.openstack.org/#/c/146339/","commit_id":"21b09159e68306b3d5a5c516e1604a66165eae7e"}]}
