)]}'
{"doc/ext/cli_reference.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"6373cdf87c5fdc0a9b76e4ab20c807b57d3f419c","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        else:"},{"line_number":122,"context_line":"            description.append(definition(descr))"},{"line_number":123,"context_line":"        arg_type \u003d kwargs.get(\"type\")"},{"line_number":124,"context_line":"        if arg_type:"},{"line_number":125,"context_line":"            description.append(definition(\"Type: %s\" % arg_type.__name__))"},{"line_number":126,"context_line":"        dest \u003d kwargs.get(\"dest\").replace(\"action_kwarg_\", \"\")"},{"line_number":127,"context_line":"        if dest in defaults:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_4363f51a","line":124,"updated":"2015-12-30 21:57:40.000000000","message":"#TODO: handle action type here","commit_id":"8d7aa1b4ca46b7115b3020d5705856d0a551d972"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"6373cdf87c5fdc0a9b76e4ab20c807b57d3f419c","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def run(self):"},{"line_number":164,"context_line":"        parser \u003d Parser()"},{"line_number":165,"context_line":"        cliutils._add_command_parsers(main.categories, parser)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        content \u003d []"},{"line_number":168,"context_line":"        for category in sorted(main.categories.keys()):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_26aa8fd5","line":165,"updated":"2015-12-30 21:57:40.000000000","message":"todo: include rally-manage commands","commit_id":"8d7aa1b4ca46b7115b3020d5705856d0a551d972"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2c7957079246f670daf87ffd3e971c8ca20c6044","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_c29c84c2","line":1,"updated":"2016-01-13 14:06:45.000000000","message":"2016","commit_id":"01e0e6a7e444cb6992156a2e15ea0fdb08d32fe4"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2872e1f722a6a114bdac5515947eae7385543d9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":14,"id":"bae84128_8c6468b9","line":1,"in_reply_to":"da6ed579_c29c84c2","updated":"2016-02-24 14:14:59.000000000","message":"Done","commit_id":"01e0e6a7e444cb6992156a2e15ea0fdb08d32fe4"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2c7957079246f670daf87ffd3e971c8ca20c6044","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from rally.cli import cliutils"},{"line_number":22,"context_line":"from rally.cli import main"},{"line_number":23,"context_line":"from rally.cli import manage"},{"line_number":24,"context_line":"from utils import *"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class Parser(object):"}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_a272b0ab","line":24,"updated":"2016-01-13 14:06:45.000000000","message":"This should be:\n\n  import utils\n\n1) we usually import modules, not routines\n2) wildcard import is not the best option","commit_id":"01e0e6a7e444cb6992156a2e15ea0fdb08d32fe4"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2872e1f722a6a114bdac5515947eae7385543d9b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from rally.cli import cliutils"},{"line_number":22,"context_line":"from rally.cli import main"},{"line_number":23,"context_line":"from rally.cli import manage"},{"line_number":24,"context_line":"from utils import *"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class Parser(object):"}],"source_content_type":"text/x-python","patch_set":14,"id":"bae84128_cc115006","line":24,"in_reply_to":"da6ed579_a272b0ab","updated":"2016-02-24 14:14:59.000000000","message":"No, please...","commit_id":"01e0e6a7e444cb6992156a2e15ea0fdb08d32fe4"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"af6dc33dccc021c04f0fe4bd9976bd4cdbbcc911","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from rally.cli import cliutils"},{"line_number":22,"context_line":"from rally.cli import main"},{"line_number":23,"context_line":"from rally.cli import manage"},{"line_number":24,"context_line":"from utils import *"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class Parser(object):"}],"source_content_type":"text/x-python","patch_set":15,"id":"bae84128_00560d05","line":24,"updated":"2016-02-24 16:03:37.000000000","message":"really bad style, now we have a mess in scope","commit_id":"a0daebfcefc815a6eb0d4ba11f8d0b29f95499d6"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2dcc32be4249dead7725e66a4f0777b129ab6403","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from rally.cli import cliutils"},{"line_number":22,"context_line":"from rally.cli import main"},{"line_number":23,"context_line":"from rally.cli import manage"},{"line_number":24,"context_line":"from utils import *"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class Parser(object):"}],"source_content_type":"text/x-python","patch_set":15,"id":"bae84128_40cdb564","line":24,"in_reply_to":"bae84128_00560d05","updated":"2016-02-24 16:09:21.000000000","message":"just one place, please...\n\nok, if I will change it to `from utils import paragraph, section`, it will be ok for you?","commit_id":"a0daebfcefc815a6eb0d4ba11f8d0b29f95499d6"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"eeddaed36daaf7f3606cf9fd0c39d15ddea7bb10","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from rally.cli import cliutils"},{"line_number":22,"context_line":"from rally.cli import main"},{"line_number":23,"context_line":"from rally.cli import manage"},{"line_number":24,"context_line":"from utils import *"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class Parser(object):"}],"source_content_type":"text/x-python","patch_set":15,"id":"bae84128_732ed1a5","line":24,"in_reply_to":"bae84128_40cdb564","updated":"2016-02-24 16:27:29.000000000","message":"import of concrete names - yes, I would agree","commit_id":"a0daebfcefc815a6eb0d4ba11f8d0b29f95499d6"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"3a8df08306096da208a61509b4ba6cb3d70155cb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_51ebc5db","line":1,"updated":"2016-02-24 16:45:06.000000000","message":"2016","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3bb5692bd42b65c2022dee78dbbc8f6203d46f75","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":16,"id":"9aed3d3a_1b4c78c6","line":1,"in_reply_to":"bae84128_51ebc5db","updated":"2016-02-26 14:31:32.000000000","message":"Done","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e2c31baca9801d398c8e5f02598301b005d8ed1b","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                description.append("},{"line_number":119,"context_line":"                        compose_use_cmd_hint_msg(\"rally %verify use\"))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        description.append(\"**Description**: %s\" % kwargs.get(\"help\"))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        action \u003d kwargs.get(\"action\")"},{"line_number":124,"context_line":"        if action:"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_b278212d","line":121,"updated":"2016-02-25 10:53:22.000000000","message":"Just proposal: how about displaying description without key name \"Description:\"?\n\nShow just description text as-is, but having another information blocks with the key names.","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3bb5692bd42b65c2022dee78dbbc8f6203d46f75","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                description.append("},{"line_number":119,"context_line":"                        compose_use_cmd_hint_msg(\"rally %verify use\"))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        description.append(\"**Description**: %s\" % kwargs.get(\"help\"))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        action \u003d kwargs.get(\"action\")"},{"line_number":124,"context_line":"        if action:"}],"source_content_type":"text/x-python","patch_set":16,"id":"9aed3d3a_57ca546f","line":121,"in_reply_to":"bae84128_b278212d","updated":"2016-02-26 14:31:32.000000000","message":"Done","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e2c31baca9801d398c8e5f02598301b005d8ed1b","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        action \u003d kwargs.get(\"action\")"},{"line_number":124,"context_line":"        if action:"},{"line_number":125,"context_line":"            description.append("},{"line_number":126,"context_line":"                    \"**Action**: %s if argument is specified\" %"},{"line_number":127,"context_line":"                    action.replace(\"_\", \" \").capitalize())"},{"line_number":128,"context_line":"        else:"},{"line_number":129,"context_line":"            arg_type \u003d kwargs.get(\"type\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_1203cdb9","line":126,"updated":"2016-02-25 10:53:22.000000000","message":"Such kind of informations is confusing for CLI documentation.\n\nFor example, I\u0027m a user and I want to get info about command \"rally task list\", so I found this documentation:\n\n http://docs-draft.openstack.org/68/262568/16/check/gate-rally-docs/a16c446//doc/build/html/cli/cli_reference.html#rally-task-list\n\nThen I see:\n\n --all-deployments (ref)\n\n    Description: List tasks from all deployments.\n\n    Action: Store true if argument is specified\n\n\nEverything looks clear except \"Action: Store true if argument is specified\"\nWhat does this mean for the rally user? This is about argument parser internal logic, not about the command documentation.\n\n\nI propose to remove this \"Action\" data at all.","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3bb5692bd42b65c2022dee78dbbc8f6203d46f75","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        action \u003d kwargs.get(\"action\")"},{"line_number":124,"context_line":"        if action:"},{"line_number":125,"context_line":"            description.append("},{"line_number":126,"context_line":"                    \"**Action**: %s if argument is specified\" %"},{"line_number":127,"context_line":"                    action.replace(\"_\", \" \").capitalize())"},{"line_number":128,"context_line":"        else:"},{"line_number":129,"context_line":"            arg_type \u003d kwargs.get(\"type\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"9aed3d3a_d7bdc4d8","line":126,"in_reply_to":"bae84128_1203cdb9","updated":"2016-02-26 14:31:32.000000000","message":"Done","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"4e7b1ff77c414ee5d41d5ea0650e7200c130d435","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    cmd \u003d \"rally-manage\" if category_name \u003d\u003d \"db\" else \"rally\""},{"line_number":161,"context_line":"    section \u003d subcategory(\"%s %s %s\" % (cmd, category_name, name))"},{"line_number":162,"context_line":"    section.extend(parse_text(parser[\"description\"]))"},{"line_number":163,"context_line":"    if len(parser[\"parser\"].arguments):"},{"line_number":164,"context_line":"        defaults \u003d get_defaults(parser[\"parser\"].defaults[\"action_fn\"])"},{"line_number":165,"context_line":"        section.extend(make_arguments_section("},{"line_number":166,"context_line":"            category_name, name, parser[\"parser\"].arguments, defaults))"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_ecf16202","line":163,"updated":"2016-02-24 16:55:54.000000000","message":"if parser[\"parser\"].arguments:","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3bb5692bd42b65c2022dee78dbbc8f6203d46f75","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    cmd \u003d \"rally-manage\" if category_name \u003d\u003d \"db\" else \"rally\""},{"line_number":161,"context_line":"    section \u003d subcategory(\"%s %s %s\" % (cmd, category_name, name))"},{"line_number":162,"context_line":"    section.extend(parse_text(parser[\"description\"]))"},{"line_number":163,"context_line":"    if len(parser[\"parser\"].arguments):"},{"line_number":164,"context_line":"        defaults \u003d get_defaults(parser[\"parser\"].defaults[\"action_fn\"])"},{"line_number":165,"context_line":"        section.extend(make_arguments_section("},{"line_number":166,"context_line":"            category_name, name, parser[\"parser\"].arguments, defaults))"}],"source_content_type":"text/x-python","patch_set":16,"id":"9aed3d3a_3b94dce0","line":163,"in_reply_to":"bae84128_ecf16202","updated":"2016-02-26 14:31:32.000000000","message":"Done","commit_id":"9c42c3a448b79ef8c2ca095da7bd0f4bf288bdb9"}]}
