)]}'
{"novaclient/utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35b59acf3efc15fc304131daa1b35337faa471f5","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        pt.add_row(row)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    \"\"\"Check sort field is none first,"},{"line_number":165,"context_line":"       avoid prettytable (0.6.1 for me) exception: Invalid field name: None!\"\"\""},{"line_number":166,"context_line":"    if sortby:"},{"line_number":167,"context_line":"        print pt.get_string(sortby\u003dsortby)"},{"line_number":168,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FkYE%3D","line":165,"updated":"2013-01-15 19:05:27.000000000","message":"This message is a comment.  Please use the comment syntax.  (This would not be recognized as any sort of docstring anyway.)","commit_id":"97bf5547938888cac4985bfe93a4f5655ece0ae2"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3d530fd378fb2a88e6a9d7fa05b338b1fbd70004","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                row.append(data)"},{"line_number":162,"context_line":"        pt.add_row(row)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    if sortby !\u003d None:"},{"line_number":165,"context_line":"        print pt.get_string(sortby\u003dsortby)"},{"line_number":166,"context_line":"    else:"},{"line_number":167,"context_line":"        print pt.get_string()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fi74%3D","line":164,"updated":"2013-01-16 16:15:16.000000000","message":"Your original \"if sortby:\" was fine.  This is not.  If you\u0027re going to compare to None, you really need to use the \"is\" and \"is not\" operators.","commit_id":"8fb2638a8334cc503d332e0f321aaeb0a72cdc7f"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"fbef5bf8a6bdec3535774ace80c0726581dbeab1","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                row.append(data)"},{"line_number":162,"context_line":"        pt.add_row(row)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    if sortby !\u003d None:"},{"line_number":165,"context_line":"        print pt.get_string(sortby\u003dsortby)"},{"line_number":166,"context_line":"    else:"},{"line_number":167,"context_line":"        print pt.get_string()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fi4U%3D","line":164,"in_reply_to":"AAAAM3%2F%2Fi74%3D","updated":"2013-01-16 16:47:57.000000000","message":"Done","commit_id":"8fb2638a8334cc503d332e0f321aaeb0a72cdc7f"}],"tests/test_utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35b59acf3efc15fc304131daa1b35337faa471f5","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"class PrintResultTestCase(test_utils.TestCase):"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    class __FakeResult(object):"},{"line_number":108,"context_line":"        name \u003d None"},{"line_number":109,"context_line":"        value \u003d None"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FkXY%3D","line":107,"updated":"2013-01-15 19:05:27.000000000","message":"Why does this need the special __\u003cname\u003e syntax?  Why not make this simply a top-level class named \"_FakeResult\"?","commit_id":"97bf5547938888cac4985bfe93a4f5655ece0ae2"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35b59acf3efc15fc304131daa1b35337faa471f5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        sys.stdout \u003d self.output"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def teardown(self):"},{"line_number":120,"context_line":"        sys.stdout \u003d sys.__stdout__"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def test_print_list_sort_by_str(self):"},{"line_number":123,"context_line":"        objs \u003d [PrintResultTestCase.__FakeResult(\"k1\", 1),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FkXg%3D","line":120,"updated":"2013-01-15 19:05:27.000000000","message":"One: Wrong name for this method; it would be \"tearDown\".  Two: it would be better to use @mock.patch() to achieve this effect.","commit_id":"97bf5547938888cac4985bfe93a4f5655ece0ae2"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3d530fd378fb2a88e6a9d7fa05b338b1fbd70004","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def setUp(self):"},{"line_number":118,"context_line":"        super(PrintResultTestCase, self).setUp()"},{"line_number":119,"context_line":"        self.output \u003d StringIO.StringIO()"},{"line_number":120,"context_line":"        sys.stdout \u003d self.output"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def tearDown(self):"},{"line_number":123,"context_line":"        sys.stdout \u003d sys.__stdout__"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fi7g%3D","line":120,"updated":"2013-01-16 16:15:16.000000000","message":"I am still of the opinion that it would be better to use @mock.patch() to achieve this effect, or to use the new fixtures support that was recently merged.","commit_id":"8fb2638a8334cc503d332e0f321aaeb0a72cdc7f"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"fbef5bf8a6bdec3535774ace80c0726581dbeab1","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def setUp(self):"},{"line_number":118,"context_line":"        super(PrintResultTestCase, self).setUp()"},{"line_number":119,"context_line":"        self.output \u003d StringIO.StringIO()"},{"line_number":120,"context_line":"        sys.stdout \u003d self.output"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def tearDown(self):"},{"line_number":123,"context_line":"        sys.stdout \u003d sys.__stdout__"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fi4I%3D","line":120,"in_reply_to":"AAAAM3%2F%2Fi7g%3D","updated":"2013-01-16 16:47:57.000000000","message":"Could you pls example me how to use @mock.patch() at here? thx","commit_id":"8fb2638a8334cc503d332e0f321aaeb0a72cdc7f"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3d530fd378fb2a88e6a9d7fa05b338b1fbd70004","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                         \u0027| k1   | 1     |\\n\u0027 \\"},{"line_number":138,"context_line":"                         \u0027| k2   | 3     |\\n\u0027 \\"},{"line_number":139,"context_line":"                         \u0027| k3   | 2     |\\n\u0027 \\"},{"line_number":140,"context_line":"                         \u0027+------+-------+\\n\u0027)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def test_print_list_sort_by_integer(self):"},{"line_number":143,"context_line":"        objs \u003d [_FakeResult(\"k1\", 1),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fi7c%3D","line":140,"updated":"2013-01-16 16:15:16.000000000","message":"I should have caught this earlier.  All of these backslashes are superfluous and should be removed.","commit_id":"8fb2638a8334cc503d332e0f321aaeb0a72cdc7f"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"a25c7a539159b0b5bf566208723870d1f3fb9d26","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                         \u0027| k1   | 1     |\\n\u0027 \\"},{"line_number":138,"context_line":"                         \u0027| k2   | 3     |\\n\u0027 \\"},{"line_number":139,"context_line":"                         \u0027| k3   | 2     |\\n\u0027 \\"},{"line_number":140,"context_line":"                         \u0027+------+-------+\\n\u0027)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def test_print_list_sort_by_integer(self):"},{"line_number":143,"context_line":"        objs \u003d [_FakeResult(\"k1\", 1),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fi1Q%3D","line":140,"in_reply_to":"AAAAM3%2F%2Fi7c%3D","updated":"2013-01-16 17:00:48.000000000","message":"Done","commit_id":"8fb2638a8334cc503d332e0f321aaeb0a72cdc7f"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"cfc6d35fd4bef1c87842b28b376b643a740de32c","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        sys.stdout \u003d sys.__stdout__"},{"line_number":124,"context_line":"        super(PrintResultTestCase, self).tearDown()"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def test_print_list_sort_by_str(self):"},{"line_number":127,"context_line":"        objs \u003d [_FakeResult(\"k1\", 1),"},{"line_number":128,"context_line":"                _FakeResult(\"k3\", 2),"},{"line_number":129,"context_line":"                _FakeResult(\"k2\", 3)]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Fiz8%3D","line":126,"updated":"2013-01-16 17:07:55.000000000","message":"I\u0027ll use this as an example of using @mock.patch()\n\n    @mock.patch(\u0027sys.stdout\u0027, StringIO.StringIO())\n    def test_print_list_sort_by_str(self):\n        …\n        self.assertEqual(sys.stdout.getvalue(),\n                         …)","commit_id":"2d1bd31409893659f0c0a95d979c64dc86e6ab5b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"cfc6d35fd4bef1c87842b28b376b643a740de32c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                         \u0027| k1   | 1     |\\n\u0027 \\"},{"line_number":138,"context_line":"                         \u0027| k2   | 3     |\\n\u0027 \\"},{"line_number":139,"context_line":"                         \u0027| k3   | 2     |\\n\u0027 \\"},{"line_number":140,"context_line":"                         \u0027+------+-------+\\n\u0027)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def test_print_list_sort_by_integer(self):"},{"line_number":143,"context_line":"        objs \u003d [_FakeResult(\"k1\", 1),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Fi0Q%3D","line":140,"updated":"2013-01-16 17:07:55.000000000","message":"Backslashes are still here…","commit_id":"2d1bd31409893659f0c0a95d979c64dc86e6ab5b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"ac0ab09bc862858d93c38a2f25150737c03f7cc2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import mock"},{"line_number":2,"context_line":"import StringIO"},{"line_number":3,"context_line":"import sys"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fiu4%3D","line":1,"updated":"2013-01-16 17:39:38.000000000","message":"mock is a third-party import, so it needs to go in a group of imports between the standard imports and the novaclient imports.  I.e., something like this:\n\n    import StringIO\n    import sys\n\n    import mock\n\n    from novaclient import base\n    from novaclient import exceptions\n    from novaclient import utils\n    from tests import utils as test_utils","commit_id":"7bdf49201603e3adf325d279d6c9a0336eb232a6"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"a89bf53426a1b656fa1682744f51d43f2c8db3a3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import mock"},{"line_number":2,"context_line":"import StringIO"},{"line_number":3,"context_line":"import sys"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fiqw%3D","line":1,"in_reply_to":"AAAAM3%2F%2Fiu4%3D","updated":"2013-01-16 18:02:43.000000000","message":"Done\n\nForgot it. thx.","commit_id":"7bdf49201603e3adf325d279d6c9a0336eb232a6"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"4badeb2c1f03c56112ac2f0154e929b070a079c8","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"class _FakeResult(object):"},{"line_number":109,"context_line":"    name \u003d None"},{"line_number":110,"context_line":"    value \u003d None"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def __init__(self, name, value):"},{"line_number":113,"context_line":"        self.name \u003d name"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2Fims%3D","line":110,"updated":"2013-01-16 18:51:39.000000000","message":"femtonit: you don\u0027t need these; __init__() will set the value on every instance.  They don\u0027t hurt anything, but they don\u0027t do anything either.","commit_id":"ee94d5e70bee867daf8fa1dfa49b0abd1539ddc0"}],"tools/test-requires":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35b59acf3efc15fc304131daa1b35337faa471f5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"openstack.nose_plugin"},{"line_number":8,"context_line":"nosehtmloutput"},{"line_number":9,"context_line":"pep8\u003d\u003d1.1"},{"line_number":10,"context_line":"prettytable\u003e\u003d0.6,\u003c0.7"},{"line_number":11,"context_line":"sphinx\u003e\u003d1.1.2"},{"line_number":12,"context_line":"unittest2"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAM3%2F%2FkWw%3D","line":10,"updated":"2013-01-15 19:05:27.000000000","message":"prettytable is already part of pip-requires; there is no need to add it to test-requires.  test-requires is used to indicate _additional_ requirements that are needed to run the test suite.","commit_id":"97bf5547938888cac4985bfe93a4f5655ece0ae2"}]}
