)]}'
{"openstackclient/common/limits.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"042e67e8da4b7efefb24b39ad88955c86ba8e48e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class ShowLimits(lister.Lister):"},{"line_number":27,"context_line":"    \"\"\"Show compute and volume limits\"\"\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    api \u003d \u0027identity\u0027"},{"line_number":30,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.ShowLimits\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F4Dw%3D","line":29,"updated":"2013-07-09 23:14:13.000000000","message":"api !\u003d identity,\nnot sure what it should be thought, common maybe?","commit_id":"0b1117325d4d857fdf6b655a238c074440f497ae"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"55f48ebe2717ca8663fe522fedd0aab7b8b0a7ff","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class ShowLimits(lister.Lister):"},{"line_number":27,"context_line":"    \"\"\"Show compute and volume limits\"\"\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    api \u003d \u0027identity\u0027"},{"line_number":30,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.ShowLimits\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F3pQ%3D","line":29,"in_reply_to":"AAAAP3%2F%2F4Dw%3D","updated":"2013-07-10 02:39:57.000000000","message":"Clearly \u0027identity\u0027 is cut-n-paste fail.  Also, it seems this is unused now so I\u0027ll remove it everywhere in another commit.","commit_id":"0b1117325d4d857fdf6b655a238c074440f497ae"}],"openstackclient/shell.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c672d6c796931867b283cd531bbede7c08b6a4e5","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                \u0027openstack.\u0027 + api + version)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        # Commands that span multiple APIs"},{"line_number":335,"context_line":"        self.command_manager.add_command_group("},{"line_number":336,"context_line":"            \u0027openstack.common\u0027)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"        # This is the naive extension implementation referred to in"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FnW0%3D","line":335,"updated":"2013-07-15 20:20:46.000000000","message":"I get that these commands are very similar, but doing it this way means they are unversioned. Should we have separate \"compute limits show\" and \"volume limits show\"? Will we ever have other kinds of limits?","commit_id":"75dcdb0c6637afe5c14e5c60f7719182bda7ab4a"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"08dc1ac3d4d698d1d6677cbd22ccf72d7614fd0f","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                \u0027openstack.\u0027 + api + version)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        # Commands that span multiple APIs"},{"line_number":335,"context_line":"        self.command_manager.add_command_group("},{"line_number":336,"context_line":"            \u0027openstack.common\u0027)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"        # This is the naive extension implementation referred to in"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fjc0%3D","line":335,"in_reply_to":"AAAAP3%2F%2Fjpk%3D","updated":"2013-07-16 16:41:12.000000000","message":"I like the idea of using a separate set of plugins later. That can also address the API versioning issue, since it would know which API versions to use.","commit_id":"75dcdb0c6637afe5c14e5c60f7719182bda7ab4a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f44979ef6b789964113d85484751b9c29fd262be","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                \u0027openstack.\u0027 + api + version)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        # Commands that span multiple APIs"},{"line_number":335,"context_line":"        self.command_manager.add_command_group("},{"line_number":336,"context_line":"            \u0027openstack.common\u0027)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"        # This is the naive extension implementation referred to in"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fjpk%3D","line":335,"in_reply_to":"AAAAP3%2F%2FnW0%3D","updated":"2013-07-16 16:02:38.000000000","message":"I don\u0027t think the user should have to know which API things come from, to them limits are limits.  It is totally possible that there may be others in the future.\n\nI\u0027ve thought about making the unversioned common command handler a dispatcher of sorts that calls down to what would be \u0027compute limits show\u0027 and \u0027volume limits show\u0027 and combines the parsers and the output so it still looks like a single command to the user.  To be honest, that feels like a refinement for down the road, especially after we get more experience with multiple API versions.","commit_id":"75dcdb0c6637afe5c14e5c60f7719182bda7ab4a"}]}
