)]}'
{"swiftclient/shell.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a73142b9dbfc3c60eb66793ef6ae9698f1289f22","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"        _help \u003d globals().get(\u0027st_%s_help\u0027 % args[0],"},{"line_number":1310,"context_line":"                              \"no help for %s\" % args[0])"},{"line_number":1311,"context_line":"        _options \u003d globals().get(\u0027st_%s_options\u0027 % args[0], \"\")"},{"line_number":1312,"context_line":"        print(\"Usage: swift %s %s\" % (args[0], _options))"},{"line_number":1313,"context_line":"        print(_help)"},{"line_number":1314,"context_line":"        exit()"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_dd4b295e","line":1312,"updated":"2016-11-14 10:22:28.000000000","message":"better to use BASENAME rather than the literal \"swift\" - that way if someone were to ever change (or monkey patch) BASENAME then the help output would remain consistent with the usage error message.","commit_id":"bdd8f46105d029bd3c42ec6740c7ca347e558e7a"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"1e227d1df4e15492145f6c7f1affc8ac132f61dd","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"        _help \u003d globals().get(\u0027st_%s_help\u0027 % args[0],"},{"line_number":1310,"context_line":"                              \"no help for %s\" % args[0])"},{"line_number":1311,"context_line":"        _options \u003d globals().get(\u0027st_%s_options\u0027 % args[0], \"\")"},{"line_number":1312,"context_line":"        print(\"Usage: swift %s %s\" % (args[0], _options))"},{"line_number":1313,"context_line":"        print(_help)"},{"line_number":1314,"context_line":"        exit()"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_9249d833","line":1312,"in_reply_to":"9a629dbe_dd4b295e","updated":"2016-11-18 19:00:10.000000000","message":"Done","commit_id":"bdd8f46105d029bd3c42ec6740c7ca347e558e7a"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a73142b9dbfc3c60eb66793ef6ae9698f1289f22","unresolved":false,"context_lines":[{"line_number":1310,"context_line":"                              \"no help for %s\" % args[0])"},{"line_number":1311,"context_line":"        _options \u003d globals().get(\u0027st_%s_options\u0027 % args[0], \"\")"},{"line_number":1312,"context_line":"        print(\"Usage: swift %s %s\" % (args[0], _options))"},{"line_number":1313,"context_line":"        print(_help)"},{"line_number":1314,"context_line":"        exit()"},{"line_number":1315,"context_line":""},{"line_number":1316,"context_line":"    # Short circuit for tempurl, which doesn\u0027t need auth"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_72d08cf8","line":1313,"updated":"2016-11-14 10:22:28.000000000","message":"nit: doesn\u0027t really need a separate print statement, _help could be included in the format of the line above, but no big deal.","commit_id":"bdd8f46105d029bd3c42ec6740c7ca347e558e7a"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"1e227d1df4e15492145f6c7f1affc8ac132f61dd","unresolved":false,"context_lines":[{"line_number":1310,"context_line":"                              \"no help for %s\" % args[0])"},{"line_number":1311,"context_line":"        _options \u003d globals().get(\u0027st_%s_options\u0027 % args[0], \"\")"},{"line_number":1312,"context_line":"        print(\"Usage: swift %s %s\" % (args[0], _options))"},{"line_number":1313,"context_line":"        print(_help)"},{"line_number":1314,"context_line":"        exit()"},{"line_number":1315,"context_line":""},{"line_number":1316,"context_line":"    # Short circuit for tempurl, which doesn\u0027t need auth"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a77a97e_b25414ca","line":1313,"in_reply_to":"9a629dbe_72d08cf8","updated":"2016-11-18 19:00:10.000000000","message":"Done","commit_id":"bdd8f46105d029bd3c42ec6740c7ca347e558e7a"}],"tests/unit/test_shell.py":[{"author":{"_account_id":18334,"name":"Nandini Tata","email":"nandini.tata@intel.com","username":"ntata"},"change_message_id":"f5e1d53f7248c9668f09d8f642e6d92bb1f487e7","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"                argv \u003d [\u0027\u0027, command, \u0027--help\u0027]"},{"line_number":1552,"context_line":"                self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1553,"context_line":"            expected \u003d \u0027Usage: swift %s %s\\n%s\u0027 % ("},{"line_number":1554,"context_line":"                command, vars(swiftclient.shell).get(options_var, \" \"),"},{"line_number":1555,"context_line":"                vars(swiftclient.shell)[help_var])"},{"line_number":1556,"context_line":"            self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1557,"context_line":"                             expected.replace(\" \", \"\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_45948936","line":1554,"updated":"2016-10-27 17:11:33.000000000","message":"just as you\u0027re setting the _options to default to an empty string in shell.py L#1311, the _options here also can default to an empty string \"\" instead of a space \" \".","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"c6c9673c298cb7beb440e208e6344826669153ad","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"                argv \u003d [\u0027\u0027, command, \u0027--help\u0027]"},{"line_number":1552,"context_line":"                self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1553,"context_line":"            expected \u003d \u0027Usage: swift %s %s\\n%s\u0027 % ("},{"line_number":1554,"context_line":"                command, vars(swiftclient.shell).get(options_var, \" \"),"},{"line_number":1555,"context_line":"                vars(swiftclient.shell)[help_var])"},{"line_number":1556,"context_line":"            self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1557,"context_line":"                             expected.replace(\" \", \"\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_d47d94b2","line":1554,"in_reply_to":"ba5da102_45948936","updated":"2016-10-28 15:39:40.000000000","message":"Done","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":18334,"name":"Nandini Tata","email":"nandini.tata@intel.com","username":"ntata"},"change_message_id":"f5e1d53f7248c9668f09d8f642e6d92bb1f487e7","unresolved":false,"context_lines":[{"line_number":1553,"context_line":"            expected \u003d \u0027Usage: swift %s %s\\n%s\u0027 % ("},{"line_number":1554,"context_line":"                command, vars(swiftclient.shell).get(options_var, \" \"),"},{"line_number":1555,"context_line":"                vars(swiftclient.shell)[help_var])"},{"line_number":1556,"context_line":"            self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1557,"context_line":"                             expected.replace(\" \", \"\"))"},{"line_number":1558,"context_line":""},{"line_number":1559,"context_line":"    def test_no_help(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_85030173","line":1556,"updated":"2016-10-27 17:11:33.000000000","message":".replace(\" \", \"\") can be omitted completely","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"c6c9673c298cb7beb440e208e6344826669153ad","unresolved":false,"context_lines":[{"line_number":1553,"context_line":"            expected \u003d \u0027Usage: swift %s %s\\n%s\u0027 % ("},{"line_number":1554,"context_line":"                command, vars(swiftclient.shell).get(options_var, \" \"),"},{"line_number":1555,"context_line":"                vars(swiftclient.shell)[help_var])"},{"line_number":1556,"context_line":"            self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1557,"context_line":"                             expected.replace(\" \", \"\"))"},{"line_number":1558,"context_line":""},{"line_number":1559,"context_line":"    def test_no_help(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_5448a487","line":1556,"in_reply_to":"ba5da102_85030173","updated":"2016-10-28 15:39:40.000000000","message":"Done","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":18334,"name":"Nandini Tata","email":"nandini.tata@intel.com","username":"ntata"},"change_message_id":"f5e1d53f7248c9668f09d8f642e6d92bb1f487e7","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"        with CaptureOutput() as out:"},{"line_number":1561,"context_line":"            argv \u003d [\u0027\u0027, \u0027bad_command\u0027, \u0027--help\u0027]"},{"line_number":1562,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1563,"context_line":"        expected \u003d \u0027Usage: swift bad_command  \\nno help for bad_command\u0027"},{"line_number":1564,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1565,"context_line":"                         expected.replace(\" \", \"\"))"},{"line_number":1566,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_0547f1bb","line":1563,"updated":"2016-10-27 17:11:33.000000000","message":"remove extra space after command","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"c6c9673c298cb7beb440e208e6344826669153ad","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"        with CaptureOutput() as out:"},{"line_number":1561,"context_line":"            argv \u003d [\u0027\u0027, \u0027bad_command\u0027, \u0027--help\u0027]"},{"line_number":1562,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1563,"context_line":"        expected \u003d \u0027Usage: swift bad_command  \\nno help for bad_command\u0027"},{"line_number":1564,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1565,"context_line":"                         expected.replace(\" \", \"\"))"},{"line_number":1566,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_d42bd492","line":1563,"in_reply_to":"ba5da102_0547f1bb","updated":"2016-10-28 15:39:40.000000000","message":"Done","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":18334,"name":"Nandini Tata","email":"nandini.tata@intel.com","username":"ntata"},"change_message_id":"f5e1d53f7248c9668f09d8f642e6d92bb1f487e7","unresolved":false,"context_lines":[{"line_number":1562,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1563,"context_line":"        expected \u003d \u0027Usage: swift bad_command  \\nno help for bad_command\u0027"},{"line_number":1564,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1565,"context_line":"                         expected.replace(\" \", \"\"))"},{"line_number":1566,"context_line":""},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"@mock.patch.dict(os.environ, mocked_os_environ)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_252b15ed","line":1565,"updated":"2016-10-27 17:11:33.000000000","message":".replace(\" \", \"\") can be omitted","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"c6c9673c298cb7beb440e208e6344826669153ad","unresolved":false,"context_lines":[{"line_number":1562,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1563,"context_line":"        expected \u003d \u0027Usage: swift bad_command  \\nno help for bad_command\u0027"},{"line_number":1564,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027).replace(\" \", \"\"),"},{"line_number":1565,"context_line":"                         expected.replace(\" \", \"\"))"},{"line_number":1566,"context_line":""},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"@mock.patch.dict(os.environ, mocked_os_environ)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_f418d886","line":1565,"in_reply_to":"ba5da102_252b15ed","updated":"2016-10-28 15:39:40.000000000","message":"Done","commit_id":"92c07ee594ea1592523e7e5b30089084c92b8e42"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a73142b9dbfc3c60eb66793ef6ae9698f1289f22","unresolved":false,"context_lines":[{"line_number":1559,"context_line":"        with CaptureOutput() as out:"},{"line_number":1560,"context_line":"            argv \u003d [\u0027\u0027, \u0027bad_command\u0027, \u0027--help\u0027]"},{"line_number":1561,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1562,"context_line":"        expected \u003d \u0027Usage: swift bad_command \\nno help for bad_command\u0027"},{"line_number":1563,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027), expected)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_dd80894c","line":1562,"updated":"2016-11-14 10:22:28.000000000","message":"ok. Here I think it is ok to use the literal \"swift\" since that is exactly what we\u0027d expect from the code as it is tested.","commit_id":"bdd8f46105d029bd3c42ec6740c7ca347e558e7a"},{"author":{"_account_id":18334,"name":"Nandini Tata","email":"nandini.tata@intel.com","username":"ntata"},"change_message_id":"60c3276e5d7b9e6f8d6f69aa6e82f81c8fbd875b","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"                argv \u003d [\u0027\u0027, command, \u0027--help\u0027]"},{"line_number":1552,"context_line":"                self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1553,"context_line":"            expected \u003d \u0027Usage: %s %s %s %s\u0027 % ("},{"line_number":1554,"context_line":"                swiftclient.shell.BASENAME, command,"},{"line_number":1555,"context_line":"                vars(swiftclient.shell).get(options_var, \"\"),"},{"line_number":1556,"context_line":"                vars(swiftclient.shell)[help_var])"},{"line_number":1557,"context_line":"            self.assertEqual(out.strip(\u0027\\n\u0027), expected)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_7c240a0c","line":1554,"updated":"2016-11-19 01:06:21.000000000","message":"test case doesn\u0027t fail with using string \"swift\". Since this is an assertion, it\u0027ll be a good idea to use the string \"swift\" itself as suggested by acoles.","commit_id":"fcf3a19d3510c665206ebcf458185e62b46cd815"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"8a02a1e89f06890de84938a846f1dd0ae9c587fa","unresolved":false,"context_lines":[{"line_number":1551,"context_line":"                argv \u003d [\u0027\u0027, command, \u0027--help\u0027]"},{"line_number":1552,"context_line":"                self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1553,"context_line":"            expected \u003d \u0027Usage: %s %s %s %s\u0027 % ("},{"line_number":1554,"context_line":"                swiftclient.shell.BASENAME, command,"},{"line_number":1555,"context_line":"                vars(swiftclient.shell).get(options_var, \"\"),"},{"line_number":1556,"context_line":"                vars(swiftclient.shell)[help_var])"},{"line_number":1557,"context_line":"            self.assertEqual(out.strip(\u0027\\n\u0027), expected)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_8ee85a12","line":1554,"in_reply_to":"7a77a97e_7c240a0c","updated":"2016-12-02 15:53:24.000000000","message":"Done","commit_id":"fcf3a19d3510c665206ebcf458185e62b46cd815"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"548171d50f1c492081c86cd2e6336ccf099cb873","unresolved":false,"context_lines":[{"line_number":1559,"context_line":"        with CaptureOutput() as out:"},{"line_number":1560,"context_line":"            argv \u003d [\u0027\u0027, \u0027bad_command\u0027, \u0027--help\u0027]"},{"line_number":1561,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1562,"context_line":"        expected \u003d \u0027Usage: swift bad_command  no help for bad_command\u0027"},{"line_number":1563,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027), expected)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_8557a525","line":1562,"range":{"start_line":1562,"start_character":20,"end_line":1562,"end_character":69},"updated":"2016-12-07 16:30:54.000000000","message":"I think this is actually a \"bug\"\n\nshouldn\u0027t the message be something more like \"bad_command is a bad command (e.g., not supported)\"?  :)","commit_id":"70b9b1497ae0bc5587ee393d391860d58a7026ea"},{"author":{"_account_id":17361,"name":"Shashirekha Gundur","email":"shashirekha.j.gundur@intel.com","username":"shashirekha.j.gundur"},"change_message_id":"5a7fcb7f1b8c7f1459243a7601d940a507492218","unresolved":false,"context_lines":[{"line_number":1559,"context_line":"        with CaptureOutput() as out:"},{"line_number":1560,"context_line":"            argv \u003d [\u0027\u0027, \u0027bad_command\u0027, \u0027--help\u0027]"},{"line_number":1561,"context_line":"            self.assertRaises(SystemExit, swiftclient.shell.main, argv)"},{"line_number":1562,"context_line":"        expected \u003d \u0027Usage: swift bad_command  no help for bad_command\u0027"},{"line_number":1563,"context_line":"        self.assertEqual(out.strip(\u0027\\n\u0027), expected)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_16e55ba7","line":1562,"range":{"start_line":1562,"start_character":20,"end_line":1562,"end_character":69},"in_reply_to":"3a71b18c_8557a525","updated":"2016-12-08 14:56:22.000000000","message":"we can change the default help_text value “no help for x” to “is not supported” or “is bad command” etc. here -\nhttps://github.com/openstack/python-swiftclient/blob/master/swiftclient/shell.py#L1332-#L1333\npls let me know and I ll make that change here and update the test_case accordingly","commit_id":"70b9b1497ae0bc5587ee393d391860d58a7026ea"}]}
